Recherchev

Résolu/Fermé
luyory Messages postés 3 Date d'inscription samedi 1 août 2015 Statut Membre Dernière intervention 2 août 2015 - 1 août 2015 à 21:06
luyory Messages postés 3 Date d'inscription samedi 1 août 2015 Statut Membre Dernière intervention 2 août 2015 - 2 août 2015 à 18:36
comment récupérer une donnée figurant dans un fichier source pour l'intégrer dans un fichier de destination.

La formule excel employée est une recherche verticale mais je n'arrive pas à la traduire en VBA;

voici mon script :

Range(Cells(1, 1), Cells(nb_ligne_fichier_source, nb_colonne_fichier_source)).Select
fichier_source = Selection

Windows("EXTREFFE.TXT").Activate 'j'active mon fichier de destination celui qui doit récuperer la donnee

ligne_lue = 2

While Not IsEmpty(Cells(1, ligne_lue))
matricule_lu = Cells(1, ligne_lue)'je définie le dénominateur commun
Cells(ligne_lue_12).Select 'je selectionne la cellule dans laquelle doit etre écrit la valeur recherchée
recherchev = Application.WorksheetFunction.VLookup(matricule_lu, fichier_source, 23, False) 'la recherche v
Cells(ligne_lue, 12).Value = recherchev
ligne_lue = ligne_lue + 1
Wend

2 réponses

Mavericku Messages postés 5 Date d'inscription mardi 21 juillet 2015 Statut Membre Dernière intervention 10 janvier 2017
1 août 2015 à 23:19
Application.VLOOKUP(lookup_value, table_array, column_index, range_lookup)
0
luyory Messages postés 3 Date d'inscription samedi 1 août 2015 Statut Membre Dernière intervention 2 août 2015
2 août 2015 à 18:32
Bonjour,

Merci pour cette syntaxe car maintenant mon problème est résolu ;-)
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
2 août 2015 à 06:15
Bonjour
Je crois que vous faites les choses à l'envers.
Commencez par le fichier destination
-relevez le matricule
-allez dans le fichier "source"
-avec la recherchev, récupérez la valeur de la colonne 23
-dans le fichier "destination", coller en colonne 12 sur la même ligne que le matricule testé.
-recommencez avec le matricule suivant.
Faites un essai avec l'enregistreur de macro, pour voir le processus, puis adaptez-le à votre code.
Bonne journée
Cdlt
0
luyory Messages postés 3 Date d'inscription samedi 1 août 2015 Statut Membre Dernière intervention 2 août 2015
2 août 2015 à 18:36
Bonjour,

Merci pour votre aide, je viens de résoudre mon problème.
Je n'avais pas la bonne syntaxe pour la recherchev, elle s'écrit Application.VLookup(matricule_lu, fichier_source, 23, False) .
C'est cool maintenant ca fonctionne ;-)
0