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 :)
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.xlsx
    8.7 KB · Affichages: 22

sylvanu

XLDnaute Barbatruc
Supporter XLD
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")))
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel (1).xlsx
    9.1 KB · Affichages: 2

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.
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel (1).xlsx
    9.4 KB · Affichages: 6

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"
 

sylvanu

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

1.jpg


En pj le fichier avec la formule du post #6
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel (1) (3).xlsx
    9.1 KB · Affichages: 7

Comfortably_Numb

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

Regarde 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")))
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel (1) (3) (1).xlsx
    10.1 KB · Affichages: 5

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 ?
 

Pièces jointes

  • Jason.xlsx
    655.6 KB · Affichages: 4

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.
 

Pièces jointes

  • Jason.xlsx
    743.1 KB · Affichages: 5

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
 

Pièces jointes

  • Jason.xlsx
    430.6 KB · Affichages: 6

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.
 

Discussions similaires

Réponses
3
Affichages
235
Réponses
0
Affichages
937