Microsoft 365 SI avec plusieurs conditions (comment imbriquer cela dans une formule ?)

  • Initiateur de la discussion Initiateur de la discussion Bobo80
  • Date de début Date de début

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 !

Bobo80

XLDnaute Nouveau
Bonjour,

J'ai un souci pour imbriquer dans une formule plusieurs conditions.

Exemple de principe ci-dessous.

Si la cellule C10="MAGASIN" afficher "MAGASIN", sinon "COMMANDE" dans A5
Si la cellule E10="OUI" afficher "FAT", sinon "RT" dans A5
Si la cellule C13="N/A" afficher "-", sinon "LOT" dans A5

Les 3 séparément c'est OK, mais pour les mettre ensemble, je n'y arrive pas.

Merci pour votre aide!
 

Pièces jointes

Bonjour Bobo80, TooFatBoy,

L'imbrication n'a pas de sens, utilisez la concaténation en entrant en A5 :
Code:
=SI(C10="MAGASIN";"MAGASIN";"COMMANDE")&" "&SI(E10="OUI";"FAT";"RT")&" "&SI(C13="N/A";"-";"LOT")
A+
Bonjour job75,

Merci pour ceci. J'ai essayé de la tester dans mon exemple ci-joint, mais le problème, c'est que sa m'affiche plusieurs valeurs, alors que j'aimerais que ça me renvoi uniquement une valeur.
 

Pièces jointes

  • Classeur1.xlsx
    Classeur1.xlsx
    10.4 KB · Affichages: 4
  • Capture d’écran 2025-01-31 à 15.02.26.png
    Capture d’écran 2025-01-31 à 15.02.26.png
    91.2 KB · Affichages: 7
J'ai essayé de la tester dans mon exemple ci-joint, mais le problème, c'est que sa m'affiche plusieurs valeurs, alors que j'aimerais que ça me renvoi uniquement une valeur.
Je me demande si ce ne serait pas "logiquement impossible", sauf peut-être éventuellement en priorisant les choix... 🤔

Si C10="MAGASIN" afficher "MAGASIN", sinon "COMMANDE" dans A5
Si E10
="OUI" afficher "FAT", sinon "RT" dans A5
Si C13
="N/A" afficher "-", sinon "LOT" dans A5
j'aimerais que ça me renvoi uniquement une valeur.
OK. Laquelle, du coup ?
 
Dernière édition:
alors que j'aimerais que ça me renvoi uniquement une valeur.
On peut utiliser cette macro placée dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mem$
mem = UCase(CStr(Target(1))) 'mémorise la valeur
Application.EnableEvents = False 'désactive les évènements
[A5] = "" 'RAZ (facultatif)
If Target.Address = "$C$10" Then [A5] = IIf(mem = "MAGASIN", "MAGASIN", "COMMANDE")
If Target.Address = "$E$10" Then [A5] = IIf(mem = "OUI", "FAT", "RT")
If Target.Address = "$C$13" Then [A5] = IIf(mem = "N/A", "-", "LOT")
Application.EnableEvents = True 'réactive les évènements
End Sub
Elle se déclenche automatiquement quand on modifie ou valide une cellule.

C'est cette cellule qui détermine la valeur de A5.
 

Pièces jointes

Hello laurent950,

Une variante :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mem$
mem = UCase(CStr(Target(1))) 'mémorise la valeur
Application.EnableEvents = False 'désactive les évènements
[A5,C10,E10,C13] = "" 'RAZ
If Target.Address = "$C$10" Then [A5] = IIf(mem = "MAGASIN", "MAGASIN", "COMMANDE"): [C10] = mem
If Target.Address = "$E$10" Then [A5] = IIf(mem = "OUI", "FAT", "RT"): [E10] = mem
If Target.Address = "$C$13" Then [A5] = IIf(mem = "N/A", "-", "LOT"): [C13] = mem
Application.EnableEvents = True 'réactive les évènements
End Sub
Bonne nuit.
 

Pièces jointes

- 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
6
Affichages
394
Réponses
4
Affichages
425
Réponses
20
Affichages
690
Retour