Code VBA rechercher et récupérer des données

bonjour le forum

Je souhaiterais remplir mon tableau récapitulatif à partir des feuilles excel

  • 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
' 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

'ici le problème: j'arrive pas à copier les valeurs dans la feuille 3
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

le code ne m'affiche ni erreur, ni résultat

merci

cordialement,

41listecablage.xlsx (12.54 Ko)

Bonjour

Il faut être plus précis

AWG ?????

Tu as des références en double, est-ce normal et dans ce cas quoi récupérer ?

Dans la page 3 il faut noter à quelque part la référence ?

A suivre

Oui j'ai les références à double et je ne peux pas les filtrer, ils sont liés à d'autre données,

mais l'idée: parcourir toute la colonne A de la feuille 1, pour chaque cellule , chercher la référence du câble dans feuille 2

si la référence est trouvée: j'affecte la sect, awg, type cable

et je retourne le résultat dans la feuille 3

Mon problème dans le code dans le décalage et comment j'aller copier la valeur dans la feuille 3

Merci

ah désolée, awg= ga c'est à dire la gauge

Bonjour

Il faut répondre à toutes les questions

Banzai64 a écrit :

Tu as des références en double, est-ce normalet dans ce cas quoi récupérer?

Comment savoir si la 1ère référence en double de la Feuil1 est la 1ère référence de la Feuil2

Banzai64 a écrit :

Dans la page 3 il faut noter quelque part la référence ?

Que faut-il faire ?

Fais un exemple de ce que tu veux récupérer

Rechercher des sujets similaires à "code vba rechercher recuperer donnees"