Macro Excel et Recherchev
momofabo
Messages postés
4
Statut
Membre
-
momofabo Messages postés 4 Statut Membre -
momofabo Messages postés 4 Statut Membre -
Bonjour,
j'ai un soucis avec ma macro pour effectuer une recherchev, entre 2 feuilles d'un même classeur.
J'utilise la version 2003.
Je veux chercher une valeur de la colonne A de la première feuille, pour renseigner une nouvelle colonne C de cette même feuille.
Dans la deuxième feuille, les valeurs recherchées (colonne A feuille1) sont dans la colonne D, et ma valeur cible est dans la colonne B.
Voici comment j'ai écrit ma macro :
Sub Macro1()
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("C1").Select
ActiveCell.FormulaR1C1 = "Texte"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=vlookup(RC[-2],Feuille2!C[1]:C[-1],1,0)"
Range("C2:C10").Select
Selection.FillDown
End Sub
J'obtiens une colonne de #N/A sans trouver ce qui cloche!
merci à vous de m'éclairer!
++
Fabien
j'ai un soucis avec ma macro pour effectuer une recherchev, entre 2 feuilles d'un même classeur.
J'utilise la version 2003.
Je veux chercher une valeur de la colonne A de la première feuille, pour renseigner une nouvelle colonne C de cette même feuille.
Dans la deuxième feuille, les valeurs recherchées (colonne A feuille1) sont dans la colonne D, et ma valeur cible est dans la colonne B.
Voici comment j'ai écrit ma macro :
Sub Macro1()
Columns("C:C").Select
Selection.Insert Shift:=xlToRight
Range("C1").Select
ActiveCell.FormulaR1C1 = "Texte"
Range("C2").Select
ActiveCell.FormulaR1C1 = "=vlookup(RC[-2],Feuille2!C[1]:C[-1],1,0)"
Range("C2:C10").Select
Selection.FillDown
End Sub
J'obtiens une colonne de #N/A sans trouver ce qui cloche!
merci à vous de m'éclairer!
++
Fabien
A voir également:
- Macro Excel et Recherchev
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Word et excel gratuit - Guide
- Liste déroulante excel - Guide
- Si et ou excel - Guide
- Déplacer colonne excel - Guide
2 réponses
Bonjour,
Attention car RECHERCHEV suppose que la valeur recherchée est dans la première colonne de la matrice de recherche et il retourne la valeur correspondante indiquée par le 3° paramètre qui ici vaut 1.
Par exemple si on écrit comme dans la macro ci dessus (je traduit en notation A1) :
RECHERCHEV(A2;Feuille2!B:D;1;0) cela signifie qu'il cherche la valeur A2 dans la colonne B et qu'il retourne la valeur de B.
la syntaxe :
RECHERCHEV(A2;Feuille2!B:D;3;0) signifie qu'il cherche la valeur A2 dans la colonne B et qu'il retourne la valeur correspondante en colonne D.
Si j'ai bien compris c'est le contraire qui est souhaité. SI c'est bien cela alors il faut inverser les colonne B et D dans Feuille2 et écrire :
ActiveCell.FormulaR1C1 = "=vlookup(RC[-2],Feuille2!C[1]:C[-1],3,0)"
Edit : je précise que de toute façon il met toujours les colonnes dans l'ordre donc la syntaxe ci dessus ne change rien. Il ne cherche pas dans la matrice D:B mais toujours dans B:D d'ou l'obligation d'inverser les données des colonnes B et D
A+
Cordialement,
Attention car RECHERCHEV suppose que la valeur recherchée est dans la première colonne de la matrice de recherche et il retourne la valeur correspondante indiquée par le 3° paramètre qui ici vaut 1.
Par exemple si on écrit comme dans la macro ci dessus (je traduit en notation A1) :
RECHERCHEV(A2;Feuille2!B:D;1;0) cela signifie qu'il cherche la valeur A2 dans la colonne B et qu'il retourne la valeur de B.
la syntaxe :
RECHERCHEV(A2;Feuille2!B:D;3;0) signifie qu'il cherche la valeur A2 dans la colonne B et qu'il retourne la valeur correspondante en colonne D.
Si j'ai bien compris c'est le contraire qui est souhaité. SI c'est bien cela alors il faut inverser les colonne B et D dans Feuille2 et écrire :
ActiveCell.FormulaR1C1 = "=vlookup(RC[-2],Feuille2!C[1]:C[-1],3,0)"
Edit : je précise que de toute façon il met toujours les colonnes dans l'ordre donc la syntaxe ci dessus ne change rien. Il ne cherche pas dans la matrice D:B mais toujours dans B:D d'ou l'obligation d'inverser les données des colonnes B et D
A+
Cordialement,