Bonjour le forum,
je sollicite votre aide pour corriger mon code qui permet de:
-parcourir la colonne "référence" de la feuille 1
-rechercher pour chaque référence la sect, awg, type cable dans la feuille 2
-et les récupérer (sect, awg, type câble) dans la feuille 3
le code n'affiche aucun erreur ni de résultat
Je vous joins un exemple
Merci
cordialement,
je sollicite votre aide pour corriger mon code qui permet de:
-parcourir la colonne "référence" de la feuille 1
-rechercher pour chaque référence la sect, awg, type cable dans la feuille 2
-et les récupérer (sect, awg, type câble) dans la feuille 3
VB:
' ce code me permet de récupérer que "la sect" (colonne D)
Dim Feuil1 As Object 'déclare la variable o1 (Onglet1)
Dim Feuil2 As Object 'déclare la variable o2 (Onglet2)
Dim Feuil3 As Object 'déclare la variable o3 (Onglet3)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim dlDEST As Integer 'déclare la variable dl (Dernière Ligne)
Dim plDEST As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim celDEST As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Set Feuil1 = Sheets("Feuil1 ") 'définit l'onglet o1
Set Feuil2 = Sheets("Feuil2 ") 'définit l'onglet o2
Set Feuil3 = Sheets("Feuil3 ") 'définit l'onglet o3
dl = Feuil1 .Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet o1
Set pl Feuil1 .Range("A3:A" & dl) 'définit la plage pl
dlDEST = Feuil3 .Cells(Application.Rows.Count, 4).End(xlUp).Row 'définit la dernière ligne éditée de la colonne A de l'onglet o3
Set plDEST = Feuil3 .Range("D2:D" & dl) 'définit la plage pl
For Each celDEST In plDEST
For Each cel In pl 'boucle sur toutes les cellule cel de la plage pl
Set r = Feuil2 .Columns(1).Find(cel.Value, , xlValues, xlPart, xlByRows, xlWhole, xlNext) 'définit la recherche r
'si il existe au moins une occurrence trouvée dans la colonne A de l'onglet o3, récupère la référence
If Not r Is Nothing Then cel.Offset(0, 5).Value = r.Offset(0, 2).Value
cel.Offset(0, 5).Value = celDEST.Offset(0, 4).Value
Next cel 'prochaine cellule de la boucle
Next celDEST
End Sub
Je vous joins un exemple
Merci
cordialement,