Formule excel complexe

Résolu/Fermé
CqtKlz - 6 nov. 2020 à 09:36
 CqtKlz - 9 nov. 2020 à 10:32
Bonjour,

Je souhaiterais inclure une formule d'alerte sur mon tableur Excel et je sens qu'il ne me manque pas grand chose pour être dans le vrai. En gros :

Si la case formation est vide alors la case actuelle ne doit rien afficher
Si la case formation a une croix et que la case date est vide alors la case actuelle doit afficher Passage
Si la case formation a une croix et que la case date affiche cette année ou l'année suivante alors la case actuelle doit afficher Renouvellement

Voici la formule que j'écris :

=SI(ESTVIDE(O7);"";SI(ET(O7="X";ESTVIDE(J7));"Passage";SI(O7="X";J7=<AUJOURDHUI()-365;"Renouvellement")))

Pouvez-vous m'aider ?

Merci d'avance.

6 réponses

Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
168
Modifié le 6 nov. 2020 à 10:17
Bonjour,

=SI(O7="";"";SI(ET(O7="X";J7="");"Passage";SI(ET(O7="X";J7>=ANNEE(AUJOURDHUI()));"Renouvellement";"")))


0
Bonjour, elle ne fonctionne pas. Cela m'écrit Renouvellement pour des dates qui sont en 2022... Merci quand même ! :)
0
Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
168 > CqtKlz
6 nov. 2020 à 12:01
Rectification :

=SI(O7="";"";SI(ET(O7="X";J7="");"Passage";SI(ET(O7="X";J7-ANNEE(AUJOURDHUI())>=0;J7-ANNEE(AUJOURDHUI())<2);"Renouvellement";"")))
0
CqtKlz > Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022

6 nov. 2020 à 12:25
Cela ne fonctionne toujours pas, je n'ai pas le renouvellement pour l'année en cours et N+1. Merci d'avoir essayé :)
0
Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
168 > CqtKlz
6 nov. 2020 à 13:59
Bah si, cela fonctionne :





Donc le problème vient d'ailleurs !
0
CqtKlz > Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022

6 nov. 2020 à 14:35
D'accord, je ne sais pas d'où cela peut venir et malheureusement, je ne peux pas inclure de capture d'écran.. Merci quand même ! :)
0
Le Pingou
Messages postés
11106
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
9 août 2022
1 299
6 nov. 2020 à 10:17
Bonjour,
Voici la formule corrigée, manquait et "ET()"
=SI(ESTVIDE(O7);"v";SI(ET(O7="X";ESTVIDE(J7));"Passage";SI(ET(O7="X";J7<=AUJOURDHUI()-365);"Renouvellement";"faux")))
0
Bonjour, elle ne fonctionne pas. Cela m'écrit Faux pour des dates qui sont en 2021 alors qu'elles doivent être en Renouvellement et Faux à la place d'être vides... Merci quand même ! :)
0
PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022
1 140
Modifié le 6 nov. 2020 à 10:35
Bonjour,

Pas bien compris pour le renouvellement ?

Si la mention "Renouvellement" doit s'afficher pendant toute l'année qui précède la date inscrite en J7, alors :

=SI(O7="";"";SI(ET(O7="X";J7="");"Passage";SI(ET(O7="X";AUJOURDHUI()>=MOIS.DECALER(J7;-12));"Renouvellement";"")))


Cordialement
0
Bonjour, votre formule fonctionne mieux mais elle m'écrit Renouvellement pour toutes les dates inférieures et supérieures au lieu de le mettre pour l'année en cours et N+1. Merci quand même ! :)
0
PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022
1 140
6 nov. 2020 à 12:18
Faudrait peut-être mieux expliquer en donnant des exemples

MOIS.DECALER c'est date à date en tenant compte des années bissextiles
En prenant la date d'aujourd'hui (6/11/2020) et si la date en J7 est 6/11/2021 ; la formule marque "renouvellement" pour toute la période du 6/11/20 au 6/11/21. Si J7 est 7/11/21 la cellule reste vide jusqu'à demain.

A moins que finalement il faut marquer renouvellement pendant 1 an à partir de la date inscrite en J7.

A te lire

Cordialement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pour la faire simple, voici les colonnes de mon tableau :

J7 = Formation à venir = Passage/Renouvellement/(Vide)
F7 = Expire le = jj/mm/aaaa
O7 = Catégorie 1 = X

Le Renouvellement est à prévoir pour l'année en cours et l'année suivante. Si on a un permis dépassé de 1 an par exemple, nous devons faire un Passage, également si nous n'avons pas de date mais que la O7 est coché. Et si le permis est valable jusqu'en 2023, la case J7 doit être vide jusqu'à l'ouverture du fichier en 2022.

Je ne sais pas si cela est plus clair pour vous.
0
PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022
1 140
Modifié le 6 nov. 2020 à 13:36
il faudrait s'entendre, tu nous fais corriger une formule dans laquelle tu références J7 alors que finalement c'est F7 qui est la date de bascule et que c'est en J7 que doit venir la formule.

D'autre part tu écris ""Et si le permis est valable jusqu'en 2023, la case J7 doit être vide jusqu'à l'ouverture du fichier en 2022 "" doit-on considérer la date du 1/1/22 comme date de départ pour une date d'expiration en cours d'année 2023 ou bien un an avant celle-ci ???

A te lire
Cordialement
0
CqtKlz > PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022

Modifié le 6 nov. 2020 à 14:47
J'ai fait une capture d'écran de mon tableau mais je ne peux l'inclure ici... En effet, ma réponse est erronée, voici la correction:
F7 = Formation à venir = Passage/Renouvellement/(Vide)
J7 = Expire le = jj/mm/aaaa

Exemple de dates de mon tableau :
5/23/2024
4/26/2023
10/17/2021
C'était un exemple 2022. Ce que je souhaite, plus précisément c'est qu'il faut toujours que l'année en cours et l'année N+1 soient en Renouvellement qu'importe la date à laquelle j'ouvre le fichier. Si je l'ouvre actuellement, il faut que 2020 et 2021 soient en Renouvellement, si je l'ouvre en 2022, 2022 et 2023 en Renouvellement.

J'ai essayé avec Mois.Décaler du coup mais ca me met Renouvellement absolument partout où il y a une date... Je ne l'ai peut-être pas placé au bon endroit dans ma formule...

=SI(ESTVIDE(O7),"",SI(ET(O7="X",ESTVIDE(J7)),"Passage",SI(ET(O7="X",MOIS.DECALER(AUJOURDHUI(),J7)),"Renouvellement")))
0
PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022
1 140 > CqtKlz
6 nov. 2020 à 15:49
Bon j'espère qu'avec ce petit exemple ce sera plus parlant

https://www.cjoint.com/c/JKgoXzFAQaS

Cordialement
0
Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022
168 > PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022

6 nov. 2020 à 15:52
Salutations PapyLuc , il me semble que tu comprends mieux le sujet que moi !

Perso, je suis perdu ou alors qq chose m'a échappé !?

Je quitte le sujet, en sachant pertinemment que tu trouveras avant moi ce qui convient le mieux à CqtKlz
0
PapyLuc51
Messages postés
3713
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
7 août 2022
1 140 > Yoyo01000
Messages postés
1639
Date d'inscription
samedi 2 février 2019
Statut
Membre
Dernière intervention
7 mars 2022

Modifié le 7 nov. 2020 à 07:37
Salutations Yoyo

L'exemple que j'ai mis est fait avec la première formule que j'ai envoyée (mon message #3).
La réponse de notre demandeur m'a conforté dans mon idée.

@ CqtKlz

Je viens de constater en relisant la formule que tu l'as mal recopiée (message #14)
=SI(ESTVIDE(O7),"",SI(ET(O7="X",ESTVIDE(J7)),"Passage",SI(ET(O7="X",MOIS.DECALER(AUJOURDHUI(),J7)),"Renouvellement")))
La partie en gras doit s'inscrire AUJOURDHUI()>=MOIS.DECALER(J7;-12).
C'est à dire tu retires 12 mois à la date en J7 et Renouvellement s'inscrit quand la date du jour est égale ou dépasse se décalage et reste jusqu'à la date en J7.
Et puis tu inscris toujours ESTVIDE(O7) ?? Est-ce à dire que O7="" qui est plus rapide à inscrire ne fonctionne pas sur ton Excel ?? Ça me parait étonnant !!.

On peut même réduire la formule à
=SI(O7="";"";SI(J7="";"Passage";SI(AUJOURDHUI()>=MOIS.DECALER(J7;-12);"Renouvellement";"")))

qui fonctionne tout au bien.

Cordialement
0
Le Pingou
Messages postés
11106
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
9 août 2022
1 299
6 nov. 2020 à 13:23
Bonjour,
Désolé, je quitte le poste.
0
D'accord merci à vous, bon week-end :)
0