Bonjour,
Je cherche à passer la formule suivante en VBA avec une variable sans utiliser l'enregistreur de Macro.
Code : Sélectionner tout - Visualiser dans une fenêtre à part =IF(ISNA(VLOOKUP(G2;'CRITICAL-DOC'!A:A;1;0));"NO";"YES")
J'ai commencé avec le code suivant qui fonctionne bien pour le NO mais pas pour le YES (au lieu du YES, j'ai naturellement le résultat du VLOOKUP).
Je ne vois pas comment jouer sur la ligne Range("M2:M" & i) = VL pour obtenir YES en cas de succès du VLOOKUP...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Dim i As Long, VL As Variant With Sheets("sheet1") i = .UsedRange.Rows.Count VL = Application.IfError(Application.VLookup(Range("G2:G" & i), Sheets("CRITICAL-DOC").Range("A:A"), 1, 0), "NO") Range("M2:M" & i) = VL End With
J'ai essayé également la piste du IsError mais sans succès (j'obtiens YES dans toutes les cellules):
Si vous avez une piste, je suis preneur, car je n'arrive à sortir de ce code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Dim i As Long, VL As Variant With Sheets("Sheet1") i = .UsedRange.Rows.Count VL = Application.VLookup(Range("G2:G" & i), Sheets("CRITICAL-DOC").Range("A:A"), 1, 0) If IsError(VL) = True Then Range("M2:M" & i) = "NO" Range("M2:M" & i) = "YES" End With
Merci de votre attention.
Cordialement,
Camzo
Partager