[..] Recherche valeurs dans Excel

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Aud42
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 21 oct. 2015 07:50
Status : Hors ligne

[..] Recherche valeurs dans Excel

#1

Message par Aud42 »

Bonjour à tous,

Je suis une toute nouvelle utilisatrice d'AutoIt, et j'ai besoin de votre aide.
Dans un cadre professionnel, il faut que je reprenne un script d'un ancien collègue afin de l'enrichir. Mon problème est le suivant :
J'ai un fichier excel avec 6 colonnes. Je dois donc ouvrir ce fichier, le parcourir, et faire une recherche sur les 3 premières colonnes et retourner la valeur de la colonne 6 dans un autre fichier excel.
Ex : Ma colonne A est nommée ID (numérique)
Ma colonne B est nommée Date (date)
Ma colonne C est nommé Code (numérique)

J'ai besoin de trouver dans ce fichier ID=1, Date="date du jour", et code="2", puis récupérer la colonne 6.

Je ne sais absolument pas comment m'y prendre. Quelle fonction me permettrait de faire ça?

Merci pour votre aide.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Recherche valeurs dans Excel

#2

Message par jchd »

Les fonctions _Excel_* par exemple :wink:

Bienvenue en Hexagonie autoitienne.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Aud42
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 21 oct. 2015 07:50
Status : Hors ligne

Re: [..]Recherche valeurs dans Excel

#3

Message par Aud42 »

Merci ;)

J'avais pensé à la fonction _Excel_RangeRead mais je ne sais pas comment faire pour rechercher sur mes 3 colonnes simultanément!
Peut être plus une fonction style filtre?!
Oversid3
Niveau 3
Niveau 3
Messages : 45
Enregistré le : jeu. 29 janv. 2015 11:20
Status : Hors ligne

Re: [..] Recherche valeurs dans Excel

#4

Message par Oversid3 »

Bonjour.

Pourrais-tu nous fournir le code que tu as déjà fait ?

Sinon j'utilise une version modifiée de l'UDF de base : http://www.beetxt.com/3uW/


Sinon, dans l'idée voila ce qu'il faut faire :

Code : Tout sélectionner

Ouvrir le fichier Excel 
$Excel=_ExceBookOpen($path)

Lire la colonne A B et C et les stocker dans une array
$ColonneA=_ExcelReadArray($Excel, 2, 1, 300, 1)
$ColonneB=_ExcelReadArray($Excel, 2, 2, 300, 1)
$ColonneC=_ExcelReadArray($Excel, 2, 3, 300, 1)

Stocker aussi la colonne 6
$Colonne6=_ExcelReadArray($Excel, 2, 6, 300, 1)

Il te reste a faire une boucle avec des conditions

For $i=0 to Ubound($ColonneA) ;
If $ColonneA[$i]='ta valeur' Then
     If $ColonneB[$i]='Date du jour' Then
          If $ColonneC[$i]='2' Then
               ;On copie le tout dans un fichier de result, aprés libre a toi d'en faire ce que tu veux
               FileWrite(@Scriptdir&"\result.txt", $ColonneA[$i]&" "&$ColonneB[$i]&" "&$ColonneC[$i]&" "&$Colonne6[$i])
Endif
Endif
Endif

Next

 
Répondre