Résolu XL 2013 Afficher message selon conditions multiples - plusieurs colonnes

Comfortably_Numb

XLDnaute Junior
Bonjour à tous,

Je cherche à faire en sorte pour un projet en cours que la formule inscrite dans une cellule affiche un message selon plusieurs critères :


OBSN° devisN° commande Ancienneté OBSÉtat ACQ
1Devis 1400011 moisCommande transmise
2Devis 22 moisDevis reçu, commande à créer
3ACQ non renseigné
43 moisDevis à obtenir


J'aimerais que dans la colonne État ACQ les différents statuts apparaissent selon ces critères :

Si il n'y a pas d'ancienneté OBS, affiche "ACQ non renseigné"
Si il y a une Ancienneté OBS mais qu'il n'y a pas de numéro de devis, affiche "Devis à obtenir"
Si il y a une ancienneté + numéro de devis mais pas de commande, affiche "Devis reçu, commande à créer"
Si il y a une ancienneté + numéro de devis +numéro de commande, affiche "Commande transmise"

En P.J. le fichier Excel reprenant le tableau plus haut, quelqu'un peut m'aider ? Je pense à des SI mais ça fait beaucoup à imbriquer non ?

Merci pour votre aide :)
 
Ce fil a été résolu! Aller à la solution…

Fichiers joints

Comfortably_Numb

XLDnaute Junior
Bonjour,
Ça ne fait pas vraiment une grande formule.
VB:
=SI(A2="";"ACQ non renseigné";SI(B2="";"Devis à obtenir";SI(C2="";"Devis reçu, commande à créer";"Commande transmise")))
@sylvanu ça ne fonctionne pas tout à fait, la colonne "A" ou "OBS" ne doit pas être prise en compte dans la formule. Dans le fichier Excel que j'ai travaillé, l'OBS est toujours présente. En prenant comme première référence l'OBS, ça fausse le résultat.

Dans l'exemple que tu retournes, en dernière ligne il n'y rien hormis le numéro d'OBS qui ne doit pas être pris en compte. Normalement le message devrait être "ACQ non renseigné" car dans "Ancienneté OBS" il n'y a rien.
 

Fichiers joints

sylvanu

XLDnaute Barbatruc
Supporter XLD
Remplacez A2 par D2 dans la formule :
VB:
=SI(D2="";"ACQ non renseigné";SI(B2="";"Devis à obtenir";SI(C2="";"Devis reçu, commande à créer";"Commande transmise")))
J'ai pris OBS au lieu de Ancienneté OBS. :eek:
 

Comfortably_Numb

XLDnaute Junior
Remplacez A2 par D2 dans la formule :
VB:
=SI(D2="";"ACQ non renseigné";SI(B2="";"Devis à obtenir";SI(C2="";"Devis reçu, commande à créer";"Commande transmise")))
J'ai pris OBS au lieu de Ancienneté OBS. :eek:
@sylvanu j'obtiens le résultat "Commande transmise" dans le cas de figure où il n'y a que la colonne "Ancienneté OBS", comment y remédier ? Le message devrait être dans ce cas "Devis à obtenir"
 

Comfortably_Numb

XLDnaute Junior
Quand il n'y a que la colonne "Ancienneté OBS", le message est bien "devis à obtenir"

Voir la pièce jointe 1071792

En pj le fichier avec la formule du post #6
@sylvanu je travaille sur un tableau, la formule va donc chercher les en-têtes renseignées :

=SI([@[Ancienneté OBS]]="";"ACQ non renseigné";SI([@[N° devis]]="";"Devis à obtenir";SI([@[Commande PGI 3]]="";"Devis reçu, commande à créer";"Commande transmise")))

et j'obtiens "Commande transmise" dans le cas repris en jaune dans ton message, comment faire pour contrer ça ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
A chaque post une nouvelle hypothèse. Le post #1 ne faisait pas état d'un tableau structuré.
Que le tableau soit structuré ou non ne change rien. Voir PJ, en utilisant la formule :
VB:
=SI(Tableau1[[#Cette ligne];[Ancienneté OBS]]="";"ACQ non renseigné";SI(Tableau1[[#Cette ligne];[N° devis]]="";"Devis à obtenir";SI(Tableau1[[#Cette ligne];[N° commande]]="";"Devis reçu, commande à créer";"Commande transmise")))
 

Fichiers joints

Comfortably_Numb

XLDnaute Junior
Bonjour,
A chaque post une nouvelle hypothèse. Le post #1 ne faisait pas état d'un tableau structuré.
Que le tableau soit structuré ou non ne change rien. Voir PJ, en utilisant la formule :
VB:
=SI(Tableau1[[#Cette ligne];[Ancienneté OBS]]="";"ACQ non renseigné";SI(Tableau1[[#Cette ligne];[N° devis]]="";"Devis à obtenir";SI(Tableau1[[#Cette ligne];[N° commande]]="";"Devis reçu, commande à créer";"Commande transmise")))
Je suis désolé de ne pas t'avoir précisé qu'il s'agissait d'un tableau.. j'essaie ta formule sur le tableau et ça ne fonctionne pas..

Voici en P.J. le fichier sur lequel je travaille si ça peut t'aider ?
 

Fichiers joints

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
C'est vraiment l'effort minimum.
ça ne fonctionne pas..
ne veut rien dire. Où ?, pourquoi ?
C'est à moi de chercher ?
Dans la PJ j'ai mis en ligne 2 à 5 les différentes configurations avec en Col AA vos explications du post #1.
Avec ma compréhension de votre exposé, j'obtiens ça :
N° devisCommande PGI 3Ancienneté OBSÉtat d'avancement ACQExtrait post #1
VideACQ non renseignéSi il n'y a pas d'ancienneté OBS, affiche "ACQ non renseigné"
VideNon videDevis à obtenirSi il y a une Ancienneté OBS mais qu'il n'y a pas de numéro de devis, affiche "Devis à obtenir"
Non videVideNon videDevis reçu, commande à créerSi il y a une ancienneté + numéro de devis mais pas de commande, affiche "Devis reçu, commande à créer"
Non videNon videNon videCommande transmiseSi il y a une ancienneté + numéro de devis +numéro de commande, affiche "Commande transmise"

Et mes formules respectent ça.
Donc si ça ne marche pas dites :
1- Où, quelle configuration ?
2- Pourquoi
3- Ce qui est attendu.
 

Fichiers joints

Comfortably_Numb

XLDnaute Junior
Bonjour,
C'est vraiment l'effort minimum.
ne veut rien dire. Où ?, pourquoi ?
C'est à moi de chercher ?
Dans la PJ j'ai mis en ligne 2 à 5 les différentes configurations avec en Col AA vos explications du post #1.
Avec ma compréhension de votre exposé, j'obtiens ça :
N° devisCommande PGI 3Ancienneté OBSÉtat d'avancement ACQExtrait post #1
VideACQ non renseignéSi il n'y a pas d'ancienneté OBS, affiche "ACQ non renseigné"
VideNon videDevis à obtenirSi il y a une Ancienneté OBS mais qu'il n'y a pas de numéro de devis, affiche "Devis à obtenir"
Non videVideNon videDevis reçu, commande à créerSi il y a une ancienneté + numéro de devis mais pas de commande, affiche "Devis reçu, commande à créer"
Non videNon videNon videCommande transmiseSi il y a une ancienneté + numéro de devis +numéro de commande, affiche "Commande transmise"

Et mes formules respectent ça.
Donc si ça ne marche pas dites :
1- Où, quelle configuration ?
2- Pourquoi
3- Ce qui est attendu.
@sylvanu pardon pour le tutoiement, effectivement on va en rester au vouvoiement à la lecture des commentaires que vous formulez..

Aucun effort, qu'est-ce qui vous permet de dire ça ? J'ai transposé la formule que vous m'avez proposée dans mon tableau.. "1- Où, quelle configuration ?" vous l'avez bien compris, colonne Z du fichier transmis. Je vous renvoie le fichier avec un copier coller valeurs qui a été fait afin de ne pas avoir des #REF. Prenons la ligne 9, pourquoi "commande transmise" alors que seul l'ancienneté est renseignée, normalement nous devons lire "Devis à obtenir".

"2- Pourquoi" ça ne marche pas, si j'avais la réponse vous pensez que je serais ici ? Du bon sens..

Je ne suis pas un fainéant, mais là je sèche car vous me donnez des pistes, je les transpose dans mon fichier, ça ne marche pas pourtant sur le vôtre (post #8).. d'où mes nouveaux post..

"3 - Ce qui est attendu", tout simplement que vous m'aidiez à comprendre pourquoi votre formule qui est parfaitement logique ne matche pas et ne permet pas d'afficher le résultat souhaité ?


Merci pour votre aide @sylvanu, ce n'est d'ailleurs pas la première fois et je vous en suis reconnaissant.

Néanmoins :

C'est vraiment l'effort minimum.
ça ne fonctionne pas..
ne veut rien dire. Où ?, pourquoi ?
C'est à moi de chercher ?

Je n'ai pas besoin de lire ça, restons respectueux.

Maintenant, soit vous voulez bien continuer à m'aider, et je pense qu'on est pas loins de la solution, soit on laisse tomber.

Merci encore
 

Fichiers joints

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'ai énormément de mal à vous suivre.
pourquoi votre formule qui est parfaitement logique ne matche pas et ne permet pas d'afficher le résultat souhaité ?
Vous avez mon fichier du post #12. Fichier auquel je n'ai rien touché en termes de formules.
Vous avez les lignes 2 à 5. Les variables sont en fond orange.
Chaque ligne correspond à une configuration :
Ligne 2 : Pas d'ancienneté OBS
Ligne 3 : Ancienneté OBS et pas de devis
Ligne 4 : Ancienneté OBS ,devis mais pas de N° de commande
Ligne 5 : Toutes les infos sont présentes.
Les formules remontent exactement la demande du post #1.
Donc la question est simple :
Sur les 4 lignes de ce fichier, quelle sont les réponses qui sont mauvaises, et qu'attendiez vous comme réponse au vu des données de la ligne.
J'insiste : "Ca ne marche pas" ne veut rien dire pour faire avancer les choses.
 

Comfortably_Numb

XLDnaute Junior
J'ai énormément de mal à vous suivre.

Vous avez mon fichier du post #12. Fichier auquel je n'ai rien touché en termes de formules.
Vous avez les lignes 2 à 5. Les variables sont en fond orange.
Chaque ligne correspond à une configuration :
Ligne 2 : Pas d'ancienneté OBS
Ligne 3 : Ancienneté OBS et pas de devis
Ligne 4 : Ancienneté OBS ,devis mais pas de N° de commande
Ligne 5 : Toutes les infos sont présentes.
Les formules remontent exactement la demande du post #1.
Donc la question est simple :
Sur les 4 lignes de ce fichier, quelle sont les réponses qui sont mauvaises, et qu'attendiez vous comme réponse au vu des données de la ligne.
J'insiste : "Ca ne marche pas" ne veut rien dire pour faire avancer les choses.
Pouvez-vous refaire la formule dans le dernier fichier envoyé ?

Car c'est là que ça ne fonctionne pas, le message qui s'affiche n'est pas le bon.
 

Comfortably_Numb

XLDnaute Junior
Dans le fichier transmis, il y au caractère près la même formule, pour autant j'obtiens quasiment que des "commandes transmises" de mon côté..
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Dans le fichier du dernier post ? ( #16 )
Vous êtes sur PC ou sur MAC ?

Essayez cette V4. J'ai remplacé les reférence au tableau par des accès cellules.
Tableau14[[#Cette ligne];[Ancienneté OBS]] remplacé par X2
( le Sierreur ne sert à rien mais j'ai vu des #Ref dans votre tableau, ça évite les messages d'erreurs)
 

Fichiers joints

Dernière édition:

Comfortably_Numb

XLDnaute Junior
Dans le fichier du dernier post ? ( #16 )
Vous êtes sur PC ou sur MAC ?

Essayez cette V4. J'ai remplacé les reférence au tableau par des accès cellules.
Tableau14[[#Cette ligne];[Ancienneté OBS]] remplacé par X2
( le Sierreur ne sert à rien mais j'ai vu des #Ref dans votre tableau, ça évite les messages d'erreurs)
Bonjour @sylvanu je viens de tester la formule et je m'aperçois que j'ai toujours une grande majorité de "commande transmise" là où il ne devrait pas y en avoir..

Je constate que vous avez supprimé le contenu des cellules qui "visuellement" ne contenaient rien, or, chaque cellule contient une formule dans le tableau (une recherche v), je pense que le problème vient de là non ?
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Je ne sais pas.
Mais au moins, dans le fichier que je vous ai envoyé, est ce que les lignes 2 à 5 sont correctes ?

Si je reprend votre fichier d'origine et que dans Ancienneté OBS j'inverse dans le Alors Sinon dans le SI:
VB:
=SI(Tableau14[[#Cette ligne];[Date de réalisation du contrôle]]="";SI(Tableau14[[#Cette ligne];[Date de réalisation du contrôle]]>(AUJOURDHUI()-60);"Moins de 2 mois";SI(Tableau14[[#Cette ligne];[Date de réalisation du contrôle]]<(AUJOURDHUI()-180);"Plus de 6 mois";"Entre 2 et 6 mois"));"")
Comme ça je suis sur d'avoir "" dans la cellule. mais de conserver la formule.
Bien que la cellule X2 ait une formule, l'état est bien "ACQ non renseigné"
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas