Bonjour à toutes et tous,
J'ai besoin d'aide pour résoudre un problème que je rencontre sur une macro (je suis débutant en VBA, j'ai trouvé cette macro sur ce forum et tenté de l'adapter mais sans succès)
J'ai passé environ 8 heures en ayant d'utiliser une boucle avec Do / Loop mais la boucle semblait sans fin et faisait planter Excel j'ai donc abandonné cette idée.
Mon problème (je vous joins un fichier exemple) :
J'aimerai créer une base de donnée dans la "colonne F de la feuille 1" et avec la méthode Find trouver dans la "colonne D de la feuille 2" (si la valeur existe) et ensuite utiliser Offset pour obtenir le résultat escompté.
Dans le code ci dessous, la méthode Find s'arrête à la première valeur trouvée. J'aimerai la modifier pour qu'elle fonctionne pour toute les lignes de la colonne. Ne faites pas attention aux Range (qui sont fixe pour l'exemple), je les modifierai plus tard pour qu'elles soient variables en fonction du nombre de lignes variables de mon fichier.
Merci d'avance pour votre aide,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub Macro1() Dim b As Range Set W1 = Worksheets("Feuil1") Set W2 = Worksheets("Feuil2") Set sh1 = W1.Range("F2:F5") Set sh2 = W2.Range("F1:F40") For Each c In sh1 Set b = sh2.Find(c) If Not b Is Nothing Then b.Offset(0, 1) = c.Offset(0, 1) End If Next End Sub
Naunaud59
Partager