récupération des données

  • Initiateur de la discussion Initiateur de la discussion nayrous
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nayrous

XLDnaute Nouveau
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
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
le code n'affiche aucun erreur ni de résultat
Je vous joins un exemple
Merci
cordialement,
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
599
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
Réponses
2
Affichages
406
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
639
Retour