Microsoft 365 Formule avec 2 conditions

AD95

XLDnaute Junior
Bonjour la team,

J'ai mis en place une formule sur mon Excel avec 2 conditions qui fonctionne bien par contre dès que je l'intègre dans le code VBA ça ne marche pas. sur la colonne AA4 j'ai que des KO alors qu'il devrait pas.
Voici mon besoin :

Si la colonne U contient "Yes" alors mettre "OK" sinon mettre "KO" mais si la colonne "N" est supérieur à "0" alors mettre N/A

1701362022665.png


Formule dans Excel qui fonctionne
=SI($N4="1";"N/A"; SI($U4="Yes";"OK";"KO"))

La même formule dans le code VBA
Range("AA4:AA" & dernièreLigne).Formula = "=IF(RC14=""1"",""N/A"", IF(RC21=""Yes"",""OK"",""KO""))


Pourriez-vous svp m'éclairer dans mon erreur ? Merci d'avance
 

AD95

XLDnaute Junior
Bonjour @AD95

Avec un fichier on pourrait voir plus facilement ou le code cloche 🤔
==> Que vaut derniereLigne etc ......

A quoi cela te sert il d'avoir le code VBA ET la formule ?
Bonjour Phil69970,

Merci pour ton retour.

La ligne derniereLigne je l'utilise pour lui d'étaler la formule jusqu'à la dernière ligne (vue que je sais jamais à l'avance quand elle termine) cette commande fonctionne parfaitement

ce qui me cause problème c'est la formule que j'essaie de créer dans VBA "=IF(RC14=""1"",""N/A"", IF(RC21=""Yes"",""OK"",""KO""))


en faite je veux juste reproduire ce qu'il y a dans l'excel dans la colonne AA en code VBA
 

Pièces jointes

  • Formule_Double_Condition.xlsx
    9.3 KB · Affichages: 1

Phil69970

XLDnaute Barbatruc
@AD95
Edit Bonjour Gérard

Je te propose ceci

VB:
Sub Test()
Dim Derlig&
Derlig = Range("N" & Rows.Count).End(xlUp).Row
Range("AA2:AA" & Derlig).FormulaLocal = "=SI($N2=1;""N/A""; SI($U2=""Yes"";""OK"";""KO""))"
End Sub

Merci de ton retour
 

Pièces jointes

  • Test formule V1.xlsm
    14.9 KB · Affichages: 0

AD95

XLDnaute Junior
@AD95
Edit Bonjour Gérard

Je te propose ceci

VB:
Sub Test()
Dim Derlig&
Derlig = Range("N" & Rows.Count).End(xlUp).Row
Range("AA2:AA" & Derlig).FormulaLocal = "=SI($N2=1;""N/A""; SI($U2=""Yes"";""OK"";""KO""))"
End Sub

Merci de ton retour
Bonjour Phil69970,

ça marche nikel. Merci beaucoup :)

Grace à Job75 je viens de trouver l'erreur sur ma formule il fallait rajouter R1C1 et retirer les "" sur le 1

Range("AA4:AA" & dernièreLigne).FormulaR1C1= "=IF(RC14=1,""N/A"", IF(RC21=""Yes"",""OK"",""KO""))"

Bon week end
 

Statistiques des forums

Discussions
313 296
Messages
2 096 923
Membres
106 788
dernier inscrit
Pragmatis