Vlookup avec condition

Bonjour,

je suis en train de rechercher à faire une recherche V en VBA cependant je me heurte à un problème :

Je souhaiterai que ma recherche compare 2 Numero de commande sur 2 feuille et me renvoi une colonne s'il trouve les 2 numéros identique sinon il marque N/A.

j'ai essayé de faire le code mais je ne vois pas comment lui dire d'ecrire le N/A car il arrête de fonctionner des qu'il ne trouve pas le numéro de commande.

En vert il y a les colonnes à comparer et en rouge les colonnes de copié collé si colonne vert sont égale.

le bout de code se trouve a la fin du module de test le module 3.

merci d'avance

Bonjour,

Essaie comme cela

Sub test_recherche_v()
    Application.ScreenUpdating = False
    With Sheets("Feuil1")
        ' Boucle tant que pas vide
        For Each Cel In .Range("Q2:Q" & .Range("Q" & Rows.Count).End(xlUp).Row)
            ' Inscrit une formule dans la cellule ayant pour référence
            ' la ligne active et la colonne 18 (colonne R)
            Set C = Worksheets("spool").Columns(1).Find(Cel, , xlValues, xlWhole)
            If Not C Is Nothing Then
                Cel.Offset(0, 1) = C.Offset(0, 1)
            Else
                Cel.Offset(0, 1) = "IMPRESSION NON REALISEE"
            End If
        Next Cel
   End With
End Sub

A+

Bonjour,

A tester.

Cdlt.

Sub test_recherche_v()
Dim x
    ' Selectionne la première cellule du tableau
    Application.ScreenUpdating = False

    Sheets("Feuil1").Select
    Range("Q2").Select

    ' Boucle tant que pas vide
    Do While Not (IsEmpty(ActiveCell))
        ' Inscrit une formule dans la cellule ayant pour référence
        ' la ligne active et la colonne 19 (colonne S)
        On Error Resume Next
        x = WorksheetFunction.VLookup(Range("Q" & ActiveCell.Row).Value, Sheets("spool").Range("A2:B600"), 2, False)
        If Err <> 0 Then
            Cells(ActiveCell.Row, 18) = CVErr(xlErrNA)
        Else
            Cells(ActiveCell.Row, 18) = x
        End If
        On Error GoTo 0
        ' Passe à la ligne suivante
        Selection.Offset(1, 0).Select
    Loop

End Sub

Merci beaucoup je ne connaissait pas cette méthode.

Vos 2 solutions marche impeccable

Bonne journée à vous

Rechercher des sujets similaires à "vlookup condition"