Conditions et contenus cellules

Tartempionnette65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
Tartempionnette65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un tableau (je suis désolée, je n'arrive pas à rattacher une pièce jointe, ça beugue à chaque fois). Avec différentes données. A partir de celles ci, je souhaite avoir une note qui apparaît. J'ai trouvé une formule qui fonctionne mais je dois la convertir en langage vba.

=SI((GAUCHE(A2;1))="S";"0";SI(A2="Lot QM";"0";SI(A2="RESART";"2";SI(ET(GAUCHE(A2;1)="A";B2<=(MAINTENANT()));"3";SI(ET(GAUCHE(A2;1)="A";B2<=C2);"1";SI(ET(GAUCHE(A2;1)="A";B2>C2);"3";SI(ET(GAUCHE(A2;1)="E";D2="");"2";SI(ET(GAUCHE(A2;1)="E";D2<>"";D2<(MAINTENANT()));"3";SI(ET(GAUCHE(A2;1)="E";D2<>"";D2<C2);"1";SI(ET(GAUCHE(A2;1)="E";D2<>"";D2>C2);"3";SI(ET(A2="CDESTR";D2="");"2";SI(ET(A2="CDESTR";D2<>"";D2<(MAINTENANT()));"3";SI(ET(A2="CDESTR";D2<>"";D2<C2);"1";SI(ET(A2="CDESTR";D2<>"";D2>C2);"3";SI(ET(A2="D.A.";(MAINTENANT())<F2);"1";"3")))))))))))))))

Colonne A : MRP As String
colonne B : dplanif As date (format jj/mm/aaaa)
Colonne C : dbesoin As date (format jj/mm/aaaa)
Colonne D : dannoncee As date (format jj/mm/aaaa)
Colonne E : note As Integer

J'arrive à traduire certaines conditions mais pas lorsque elles se complexifient. Notamment lorsque le tri doit se faire à partir de la première lettre (A, par exemple).
Je n'arrive pas à trouver la formule magique pour comparer des colonnes de dates.

Quelqu'un aurait il un tuyau ?


Merci.

2 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,

Peut être avec ce tuyau?
0
Tartempionnette65 Messages postés 12 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour le tuyau. Ca m'a beaucoup aidé.
Par contre, lorsque je l'insère dans ma macro, celà ne fonctionne pas.

Range("W2").Select

ActiveSheet.Cells(W2).FormulaLocal = "=IF(N2="","",IF(OR(N2="ORDPLA",N2="OF"),"",IF(LEFT(N2,1)="S","0",IF(N2="Lot QM","0",IF(N2="RESART","2",IF(AND(LEFT(N2,1)="A",O2<=(NOW())),"3",IF(AND(LEFT(N2,1)="A",O2<=S2),"1",IF(AND(LEFT(N2,1)="A",O2>S2),"3",IF(AND(LEFT(N2,1)="E",X2=""),"2",IF(AND(LEFT(N2,1)="E",X2<>"",X2<(NOW())),"3",IF(AND(LEFT(N2,1)="E",X2<>"",X2<S2),"1",IF(AND(LEFT(N2,1)="E",X2<>"",X2>S2),"3",IF(AND(N2="CDESTR",X2=""),"2",IF(AND(N2="CDESTR",X2<>"",X2<(NOW())),"3",IF(AND(N2="CDESTR",X2<>"",X2<S2),"1",IF(AND(N2="CDESTR",X4<>"",X4>S4),"3",IF(AND(N4="D.A.",(NOW())<O4),"1","3")))))))))))))))))"

Range("W2").AutoFill Range("W2:W" & Range("W999").End(xlUp).Row)

Je pense que les valeurs "String" (= ORDPLA, Lot QM....) ne lui plaisent pas.
0