Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Correction de 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 !

criscris11

XLDnaute Accro
Bonjour à tous,
J'utilise cette formule:
=INDEX(Colnomprénom;MIN(SI(ANNEE(DRDS)<=ANNEE($Q$2)-2;SI(OU(CTE<>0;CME<>0);SI(Départs=0;SI(Grade="1CL";SI(NB.SI(A$45:A45;NomPrénom)=0;LIGNE(NomPrénom))))))))&""
mais le résultat n'est pas bon car j'ai les même les noms des personnes qui ont ni l'un ni l'autre.
Je ne sais pas si ce genre de formule tolère cette partie SI(OU...

PS : c'est une formule matricielle.
Merci à ceux qui voudront bien corrigé la formule.
 
Re : Correction de formule

Salut,

Je pense que tu as trop de SI() imbriqués les uns dans les autres !
Du coup le résultat ne correspond pas à ce que tu attends.

Et comme ça, ce n'est pas clair du tout 😛

A+
 
Re : Correction de formule

Re Bruno,
Pourtant dans le même fichier, j'utilise celle-ci qui fonctionne (même nombre de conditions mis à part le SI(OU :
=INDEX(Colnomprénom;MIN(SI(ANNEE(DRDS)<=ANNEE($Q$2)-4;SI(BMPE<>0;SI(Départs=0;SI(Grade="CPL";SI(NB.SI(A$10:A10;NomPrénom)=0;LIGNE(NomPrénom))))))))&""

Je prépare un petit fichier pour tester.
J'avais appris un jour qu'on pouvait remplacer les SI(OU par des + et les SI(ET par * (formules booléennes) afin de ne plus être limité par le nombre de SI : à suivre.
Merci en attendant.
 
Re : Correction de formule

Salut Criscris,

Sans avoir la solution, quelques points :

Dans ta formule, tu fais référence à ANNEE($Q$2). Or dans Q2, il n'y a rien. Ca devrait, je pense, être $Q$1.

Ensuite, il est fait référence à un nom Départs qui n'existe pas

Autre point : tu as quelques espaces insidieux dans ta formule à supprimer.

Je te laisse faire ces menues corrections.

Dis nous si problème persiste ensuite.

A te (re)lire

@+
 
Re : Correction de formule

Salut Tibo,
Merci pour ton coup d'oeil : effectivement la date est en Q1, pour les départs je n'avais mis dans la formule la bonne plage nommée et il y avait un espace qui c'était glissé dans la formule.
Mais le problème est toujours là : mon tableau reste vierge (voir fichier).
Afin de ne pas surcharger le serveur, j'édite le message avec le fichier joint en remettant le fichier corrigé.
Merci et bonne soirée.
 
Re : Correction de formule

re,

cette fois, tu as corrigé la référence à la date (Q1), mais tu as déplacé la date en Q2 ...😛

Donc en remettant la date en Q1, on obtient une liste de noms.

A toi de voir si elle est correcte

@+
 
Re : Correction de formule

Re,
Tibo, encore une fois ton oeil acéré a frappé : effectivement j'ai corrigé la formule mais j'ai également déplacé la cellule donc = cela ne pouvait pas marcher.
Une fois corrigé, c'est beaucoup mieux mais la condition SI(OU ne fonctionne toujours pas (voir le fichier-joint avec les commentaires). J'ai également retrouvé les conseils de Monique concernant le nombre de SI donc à voir si on peut l'adapter : je vais essayer en attendant.

@Bruno : cela te parle plus avec le fichier ?

Bonne soirée à tous.
 

Pièces jointes

Dernière édition:
Re : Correction de formule

Re,
Je crois avoir réussi : si vous pouviez vérifier ce serait sympa de votre part, merci.
J'édite mon précédent message pour mettre le fichier.
Seul petit bémol, si la formule ne rapatrie pas de nom, j'ai un 0 comme résultat que je formaté en police blanche en attendant.

Bonne soirée et bon week-end.

Le problème du 0 est résolu : une parenthèse mal placée.
Par contre, peut on modifier cette partie : MIN(SI((ANNEE(DRDS)<=ANNEE($Q$2)-2 afin de tester si les 2 années de service effectives sont atteintes au jour près c'est à dire entre la DRDS et la date de proposition (J6) et non pas calculer par rapport aux années (exemple : si date de proposition=01/10/2008 et DRDS=05/09/2006 => ok mais si DRDS=10/12/2006 => pas ok).
J'espère avoir été le plus clair possible.
 
Dernière édition:
Re : Correction de formule

Bonjour criscris,

Pour éviter l'affichage du 0, une toute petite modification : déplacer la parenthèse à la fin :

corriger la fin de la formule : ...LIGNE(NomPrénom)))&"")

en :

...LIGNE(NomPrénom))))&""

Et voilou

@+
 
Re : Correction de formule

Salut Tibo,
Merci. J'avais trouvé mon erreur (voir mon édition dans mon dernier message) 😉
Une piste pour tester la date ? (voir édition).
Encore merci et bon week-end (pluvieux pour le moment).
 
Re : Correction de formule

ren

euh ok, avais pas tout lu.

Sinon, pour ton souci d'année complète, peut-être une solution avec DATEDIF :

=DATEDIF(A2;$A$1;"y")

où A1 représente (par rapport à ton exemple) le 01/10/2008
et A2 : le 05/09/2006 ou le 10/12/2006

avec 05/09/2006 en A2, la formule retourne 2

avec 10/12/2006 en A2, la formule retourne 1

Cette formule DATEDIF fait partie des fonctions dont l'aide est cachée. On y accède quand même lorsqu'on commence à taper la formule =DATEDIF( et que l'on clique sur le = à gauche de la barre de formule

Je te laisse adapter

@+
 
- 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

S
Réponses
2
Affichages
754
S
J
Réponses
6
Affichages
1 K
J
I
Réponses
2
Affichages
791
ikeike
I
B
Réponses
4
Affichages
12 K
benni.mvr
B
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…