For each et Find VBA

Fermé
Biloute - Modifié le 6 oct. 2019 à 20:02
 Biloute - 8 oct. 2019 à 12:31
bonsoir
Voici une petite mocro que j'essaies de perfectionner, je l'ai créé en collants des brides récupérées sur le forum, mais dans cette écriture elle ne marche pas, l'idée finale est: j'ai 2 colonnes en feuil1, ici valeur_cherchee et une colonne en feuil2 plage_ de_recherche
je dois comparer les valeurs de plage_ de recherche avec avec les 2 colonnes de valeur_chercher et si ça match afficher la valeur à coté
Dans ce code toute les colonnes sont dans le même feuille
Merci d'avance pour un petit coup de main

 Sub rule_number_6()
    Dim ws As Worksheet
    Dim DerLigne As Long
    Dim i As Long
    Dim PlageDeRecherche As Range
    Dim trouve As Range
    
    Dim Valeur_Cherchee As String

    Set ws = Sheets("feuil1")
    Set PlageDeRecherche = ws.Columns(8) 'colonne liste des valeur cherchee
    
   DerLigne = ws.Cells(65536, 3).End(xlUp).Row 'compteur nombre de ligne
    For i = 2 To DerLigne

        Valeur_Cherchee = ws.Range(Cells(i, 3), Cells(i, 4)) 'plage ou chercher
          For Each cel In Valeur_Cherchee
        Set trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookIn:=xlFormulas, _
         LookAt:=xlWhole)
        If Not trouve Is Nothing Then
            ws.Cells(i, 1).Value = trouve.Offset(0, -1).Value 'valeur à coté
            
                   End If
        
    Next i
    Next
End Sub


EDIT : Ajout des balises de code
A voir également:

1 réponse

eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 oct. 2019 à 23:52
Bonjour,

indente proprement et correctement ton code, une erreur t'apparaitra au niveau des Next.
Ce qui ne veut pas dire qu'il n'y en a pas d'autres...
Un fichier de travail avec qq lignes de données motivera plus de helpers.
eric
1
merci pour votre réponse, je suis novice, je ne sais pas encore faire ce que vous demander.
0