Macro pour recherche multiple à partir d'une liste
Bonjour à tous,
Je suis novice sous Excel et j'aimerai pouvoir faire une macro qui me permettrait de faire une recherche et afficher le résultat.
Dans mon classeur Excel, j'ai 2 feuilles nommées "Données" et "FC".
Dans "Données" ma plage pour effectuer ma recherche se situe de la cellule G1:G54
ex : G1 = PAU
G2 = BEN
G3 = POR
etc...
Dans "FC" je dois vérifier si dans la cellule "B17:B3000" je trouve cette valeur.
ex : B17 = TERRAIN PAU
B18 = PAU MAISON
B19 = CHAMBRE PAU MAISON
idem pour les autres cellules à la place de PAU j'aurai soit BEN, POR etc...
Si la valeur est trouvée, j’inscrirai le résultat PAU, POR, BEN ... dans la cellule AI17:AI3000 de la feuille "FC".
Pourriez-vous m'aider la dessus s'il vous plait et comment faire pour exécuter la macro?
Cordialement.
re peut être une piste boucle
Hello,
J ai peut-être une piste que tu pourrais modifier pour ton utilisation
Déjà fait quelques modifications pour toi
Issus d un post similaire de ce jour
À tester dans une copie de ton classeur
Bat
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
Sub Test()
Dim CompareRange As Variant, ChangeRange As Variant, x As Variant, y As Variant
Dim DerlG As Long, DerlB As Long
DerlG = Sheets("Données").Range("G" & Rows.Count).End(xlUp).Row
DerlB = Sheets("FC").("B" & Rows.Count).End(xlUp).Row
'en supposant que tes plages débute en cellule 1 si pas modifier
Set CompareRange = Sheets("Données").Range("G1:G & DerlG) 'fix Range de H1 a dernière cellule du Range H
Set ChangeRange = Sheets("FC").Range("B1:B" & DerlB) ' fix Range de D1 a dernière cel du Range D
'Pour chaque cel de la colonne à vérifier
'Verifie avec chaque cellule critere si valeur est contenue
'Si équivalent trouver dans Range de comparaison
' modifié cel en cours + 33 à droite pour atteindre col AI
For Each x In ChangeRange
For Each y In CompareRange
If x Like "*" & y & "*" Then X.offset(0,33).Value = y
Next y
Next x
End Sub |