Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Moreno076

XLDnaute Impliqué
Bonjour,

Dans le fichier ci-joint je souhaiterais modifier la formule de la colonne A en ajoutant des conditions supplémentaires :

Si dans l'onglet WMS la colonne D = traitee ET que la colonne J =MTRO alors ca marque TRAITEE J+2
Si dans l'onglet WMS la colonne D = traitee ET que la colonne J = autre chose que MTRO alors TRAITEE J+1
Si dans l'onglet WMS la colonne D = reportee alors noter date de la colonne K de l'onglet WMS

Merci de votre aide
 

Pièces jointes

Re : Si mais si

Bonjour le forum,

Formule saisie dans la feuille WMS :

=SI(OU(D2="ANNULEE";D2="EN PREPARATION");"";SI(D2="REPORTEE";K2;SI(ET(D2="TRAITEE";J2="MTRO");"TRAITEE +2";"TRAITEE J +1 ")))

excfl

Bonjour,

non ca ne va pas car le code de la colonne B n'est pas forcément voire jamais sur la meme ligne, il faut conserver la recherche du code dans la colonne B de WMS afin de conserver la correspondance des cellules.

Merci
 
Re : Si mais si

Suite...

Un petit zéro manquant ici ou là et rien ne va plus !

Comme ceci, peut-être :
Code:
=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$B;1;0));B2="");
    "";
    SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="TRAITEE";
      "TRAITEE J+"&1+(RECHERCHEV(B2;WMS!$B:$J;9;0)="MTRO");
      SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="REPORTEE";
        RECHERCHEV(B2;WMS!$B:$K;10;0);
        RECHERCHEV(B2;WMS!$B:$D;3;0)
        )
      )
    )


ROGER2327
#6869


Samedi 28 Absolu 141 (Xylostomie - Vacuation)
14 Vendémiaire An CCXXII, 6,6555h - réséda
2013-W40-6T15:58:23Z
 
Re : Si mais si

La formule fonctionne mais cette fois toujours aucune différence entre J+1 et J+2 je regarde ce qu'il cloche, on avance !


Suite...

Un petit zéro manquant ici ou là et rien ne va plus !

Comme ceci, peut-être :
Code:
=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$B;1;0));B2="");
    "";
    SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="TRAITEE";
      "TRAITEE J+"&1+(RECHERCHEV(B2;WMS!$B:$J;9;0)="MTRO");
      SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="REPORTEE";
        RECHERCHEV(B2;WMS!$B:$K;10;0);
        RECHERCHEV(B2;WMS!$B:$D;3;0)
        )
      )
    )


ROGER2327
#6869


Samedi 28 Absolu 141 (Xylostomie - Vacuation)
14 Vendémiaire An CCXXII, 6,6555h - réséda
2013-W40-6T15:58:23Z
 
Re : Si mais si

Re...


La formule fonctionne mais cette fois toujours aucune différence entre J+1 et J+2 je regarde ce qu'il cloche, on avance !
Bizarre. Ce n'est pas ce que je constate.​


ROGER2327
#6870


Samedi 28 Absolu 141 (Xylostomie - Vacuation)
14 Vendémiaire An CCXXII, 6,7281h - réséda
2013-W40-6T16:08:51Z
 

Pièces jointes

Re : Si mais si

Par contre c'est dans un fichier complexe et du coup lorsque je lance la macro ça efface tout.

La formule de la macro actuelle est :

Range("a2").FormulaR1C1 = "=IF(OR(ISNA(VLOOKUP(RC[1],WMS!C2:C23,3,0)),RC[1]=""""),"""",VLOOKUP(RC[1],WMS!C2:C23,3,0))"

qui correspond à la formule en A2 à

=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$W;3;0));B2="");"";RECHERCHEV(B2;WMS!$B:$W;3;0))

Comment transformer la formule

=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$B;1;0));B2="");
"";
SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="TRAITEE";
"TRAITEE J+"&1+(RECHERCHEV(B2;WMS!$B:$J;9;0)="MTR0");
SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="REPORTEE";
RECHERCHEV(B2;WMS!$B:$K;10;0);
RECHERCHEV(B2;WMS!$B:$D;3;0)
)
)
)

pour que je puisse la remplacer dans ma macro???
Je ne comprend le C2..C23 car il peut y avoir 2 3 4 1000 lignes !

Merci
 
Re : Si mais si

Re...

(...) lorsque je lance la macro ça efface tout.
(...)i
Quelle "macro" ?


(...)

Comment transformer la formule

=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$B;1;0));B2="");
"";
SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="TRAITEE";
"TRAITEE J+"&1+(RECHERCHEV(B2;WMS!$B:$J;9;0)="MTR0");
SI(RECHERCHEV(B2;WMS!$B:$D;3;0)="REPORTEE";
RECHERCHEV(B2;WMS!$B:$K;10;0);
RECHERCHEV(B2;WMS!$B:$D;3;0)
)
)
)

pour que je puisse la remplacer dans ma macro???
(...)
VB:
    Range("A2").FormulaR1C1 = _
        "=IF(OR(ISNA(VLOOKUP(RC[1],WMS!C2,1,0)),RC[1]=""""),"""",IF(VLOOKUP(RC[1],WMS!C2:C4,3,0)=""TRAITEE"",""TRAITEE J+""&1+(VLOOKUP(RC[1],WMS!C2:C10,9,0)=""MTR0""),IF(VLOOKUP(RC[1],WMS!C2:C4,3,0)=""REPORTEE"",VLOOKUP(RC[1],WMS!C2:C11,10,0),VLOOKUP(RC[1],WMS!C2:C4,3,0))))"
devrait faire l'affaire.


(...)

Je ne comprend le C2..C23 car il peut y avoir 2 3 4 1000 lignes !

(...)
Dans la notation des formules en "style L1C1" (ou R1C1), WMS!C2 désigne la colonne $B:$B (pas la cellule C2) de l'onglet WMS.
Quant à RC[1], il correspond à DECALER(A2;;1) en "style A1".

Si vous ne voulez pas utiliser le "style L1C1", essayez ceci :​
VB:
    Range("A2").Formula = _
        "=IF(OR(ISNA(VLOOKUP(B2,WMS!$B:$B,1,0)),B2=""""),"""",IF(VLOOKUP(B2,WMS!$B:$D,3,0)=""TRAITEE"",""TRAITEE J+""&1+(VLOOKUP(B2,WMS!$B:$J,9,0)=""MTR0""),IF(VLOOKUP(B2,WMS!$B:$D,3,0)=""REPORTEE"",VLOOKUP(B2,WMS!$B:$K,10,0),VLOOKUP(B2,WMS!$B:$D,3,0))))"
comme les Étasuniens d'Amérique du Nord, ou encore :​
VB:
    Range("A2").FormulaLocal = _
        "=SI(OU(ESTNA(RECHERCHEV(B2;WMS!$B:$B;1;0));B2="""");"""";SI(RECHERCHEV(B2;WMS!$B:$D;3;0)=""TRAITEE"";""TRAITEE J+""&1+(RECHERCHEV(B2;WMS!$B:$J;9;0)=""MTR0"");SI(RECHERCHEV(B2;WMS!$B:$D;3;0)=""REPORTEE"";RECHERCHEV(B2;WMS!$B:$K;10;0);RECHERCHEV(B2;WMS!$B:$D;3;0))))"
comme les braves gens d'chez nous.​


Bonne nuit !


ROGER2327
#6871


Samedi 28 Absolu 141 (Xylostomie - Vacuation)
14 Vendémiaire An CCXXII, 9,3276h - réséda
2013-W40-6T22:23:10Z
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
257
Réponses
2
Affichages
320
Réponses
2
Affichages
196
Réponses
10
Affichages
277
  • Question Question
Réponses
8
Affichages
329
Réponses
4
Affichages
262
Retour