Microsoft 365 Vérification de ma formule

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonsoir à toutes et à tous,

J'ai encore du faire une formule "biscornue" 😡

Je n'arrive à comprendre pourquoi elle fonctionne chez moi et pas chez ma collègue Grrrr !!!

Nous sommes tous les deux avec le même windows 10 64 et le même excel office365 en 64.

Pourriez-vous me dire si ma formule est bonne ?
en colonne P :
VB:
=SI(OU(J8="";K8="");"";SI(CNUM(SUBSTITUE(GAUCHE(J8;8);"-";".";1))=AUJOURDHUI();1;SI(MOIS(FIN.MOIS(CNUM(SUBSTITUE(GAUCHE(J8;8);"-";".";1));0))=MOIS(AUJOURDHUI());2;SI(MOIS(FIN.MOIS(CNUM(SUBSTITUE(GAUCHE(J8;8);"-";".";1));0))<MOIS(AUJOURDHUI());"3";""))))

Je joins le fichier test pour comprendre le contexte.
Je vous remercie,
Amicalement,
lionel,
 

Pièces jointes

Solution
Bonsoir @Usine à gaz

=SI(OU(J4="";K4="");"";SI(CNUM(SUBSTITUE(DATEVAL(GAUCHE(J4;8));"-";".";1))=AUJOURDHUI();1;SI(MOIS(FIN.MOIS(CNUM(SUBSTITUE(DATEVAL(GAUCHE(J4;8));"-";".";1));0))=MOIS(AUJOURDHUI());2;SI(MOIS(FIN.MOIS(CNUM(SUBSTITUE(DATEVAL(GAUCHE(J4;8));"-";".";1));0))<MOIS(AUJOURDHUI());"3";""))))

AUJOURDHUI c'est un numéro de série, et donc comparer avec un numéro de série DATEVAL(Ici la date)
re,

D'ailleurs en relisant les posts précédents de cette discussion, je pense qu'en utilisant dateval, tes cnum et substitue sont devenus inutiles, dateval renvoyant le numéro de série de la date, on peut donc encore simplifier.
VB:
=SI(OU(J4="";K4="");"";SI(DATEVAL(GAUCHE(J4;8))=AUJOURDHUI();1;SI(MOIS(FIN.MOIS(DATEVAL(GAUCHE(J4;8));0))=MOIS(AUJOURDHUI());2;SI(MOIS(FIN.MOIS(DATEVAL(GAUCHE(J4;8));0))<((ANNEE(AUJOURDHUI())-ANNEE(DATEVAL(GAUCHE(J4;8))))*12)+MOIS(AUJOURDHUI());"3";""))))
Merci Yeahou : ça marche aussi 🙂
 
Re,

Ma première tentative avec LET(...)

Avec la formule du post #10

Si on nomme l'expression: CNUM(SUBSTITUE(DATEVAL(GAUCHE(J4;8));"-";".";1)) avec le nom laDate,
et si on nomme AUJOURDHUI() avec le nom Auj

alors la formule s'écrit :
VB:
SI(laDate=Auj;1;SI(MOIS(laDate)=MOIS(Auj);2;SI(ANNEE(laDate)<ANNEE(Auj);SI(MOIS(FIN.MOIS(laDate;0))<12+MOIS(Auj);"3";"");SI(MOIS(laDate)<MOIS(Auj);"3";"")))))

Avec office 365, on peut utiliser le LET(...) et la formule devient :
VB:
=LET(Auj;AUJOURDHUI();laDate;CNUM(SUBSTITUE(DATEVAL(GAUCHE(J5;8));"-";".";1));SI(OU(J5="";K5="");"";SI(laDate=Auj;1;SI(MOIS(laDate)=MOIS(Auj);2;SI(ANNEE(laDate)<ANNEE(Auj);SI(MOIS(FIN.MOIS(laDate;0))<12+MOIS(Auj);"3";"");SI(MOIS(laDate)<MOIS(Auj);"3";""))))))

Voir colonne Q
Merci mapomme : ça marche aussi 🙂
 
- 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
5
Affichages
564
Réponses
3
Affichages
758
Réponses
1
Affichages
1 K
Retour