Conditions et contenus cellules

Fermé
Tartempionnette65 Messages postés 12 Date d'inscription mardi 2 décembre 2014 Statut Membre Dernière intervention 23 janvier 2015 - Modifié par Tartempionnette65 le 13/01/2015 à 16:46
Tartempionnette65 Messages postés 12 Date d'inscription mardi 2 décembre 2014 Statut Membre Dernière intervention 23 janvier 2015 - 14 janv. 2015 à 17:54
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 jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
14 janv. 2015 à 08:52
Bonjour,

Peut être avec ce tuyau?
0
Tartempionnette65 Messages postés 12 Date d'inscription mardi 2 décembre 2014 Statut Membre Dernière intervention 23 janvier 2015
14 janv. 2015 à 17:54
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