Bonjour,
Je cherche à passer la formule suivante en VBA avec une variable sans utiliser l'enregistreur de Macro.Code:=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:
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:
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