Formule Recherchv en VBA

Bonjour,

Je souhaiterai faire l’équivalent d'une formule rechercheV sous VBA pour trouver un element dans une colonne d'une base de données. En effet, je dispose d'une feuille "Base de Donnée" (BDD) dans laquelle je souhaiterai venir rechercher des valeurs pour compléter une autre feuille de travail (Travail), avec le code ci dessous

Sub Recherche()

For i = 1 To 40 'boucle qui va de 1 à 40

If Worksheets("Travail").Cells(1 + i, 6) = Worksheets("BDD").Range(B) Then 'Compare la colonne 6 de la feuille Travail avec la colonne B de BDD

Worksheets("Travail").Cells(1 + i, 7) = Worksheets("BDD").Range(C) 'Renvoi l'information colonne 7 de Travail, trouvée dans la colonne C de BDD

End If ' fin de la boucle si

Next i

End Sub

Cependant, ce code me renvoit rien du tout. Auriez vous donc s'il vous plait une idée du disfonctionnement ?

Par avance, merci

Cordialement

Jean

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

Bonjour,

tu peux appeler la fonction VRecherche depuis VBA c'est vLookup :

Sub Recherche()

For i = 1 To 60            'boucle qui va de 1 à 40

Dim result As String
On Error Resume Next
result = Application.WorksheetFunction.VLookup(Worksheets("Travail").Cells(1 + i, 6), Worksheets("BDD").Range("B:C"), 2, 0)

If Err.Number = 0 Then
        Worksheets("Travail").Cells(1 + i, 7) = result ' ne prends en compte le résultat que si la recherche est fructueuse
Else
        Worksheets("Travail").Cells(1 + i, 7) = "Erreur n° " & Err.Number & " " & Err.Description
        Worksheets("Travail").Cells(1 + i, 7).Font.Color = vbRed

End If
On Error GoTo 0

Next i
End Sub
Rechercher des sujets similaires à "formule recherchv vba"