Formule précise pour plusieurs conditions

Bonjour,

Je réalise une tableau avec plusieurs conditions, or j'arrive pas a sortir le résultat souhaité sur quelques ligne.

Quelqu'un pourra me donner un coup de main sur la mon formule?

ci-joint le fichier

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

Je vous remercie

Isa.

4 réponses

  1. Bonjour,

    Pour traiter tous les cas de figures et pour une question de clarté afin d'obtenir toutes les réponses complètes et précises, complétez ce tableau de vérité. Mettez les résultats souhaités en face chaque cas.
    https://mon-partage.fr/f/kMAqLsPc/

    Image du tableau à remplir


    Cdlt
    1
    1. Bonjour,

      Ci-dessous les fichier remplir, pour info il n’aura pas de cellules vides sur B C & D

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

      Cdt
      isa
      0
  2. Salutations à tous,

    Peut-être cette formule à tenter

    =SI(ET(NBVAL(B2;D2)>0;A2="OD Urgent");"par Air";SI(ET(NBVAL(B2;D2)>0;OU(A2="OD Promo";A2="OD Basic"));"A mettre en prépa le dispo";SI(ET(NBVAL(B2;D2)>0;A2="Amfila");"PLA dispo";SI(ET(NBVAL(B2;D2)=0;A2="OD Urgent");"Aérienne sans stock";SI(ET(NBVAL(B2;D2)=0;OU(A2="OD Promo";A2="OD Basic"));"Pas de stock";SI(ET(NBVAL(B2;D2)=0;A2="Amfila");"PLA";""))))))

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

    Cordialement
    1
    1. Voici avec une fonction personnalisée

      en F2 saisissez la formule et étirez vers le bas:
      =Res(A2;B2;C2;D2)


      le code utilisé dans un module standard:
      Function Res(Ord As String, Ok As Long, Mis As Long, Par As Long) As String
          Select Case Ord
              Case Is = "OD Urgent"
                  If Ok = 0 And Mis = 0 And Par = 0 Then
                      Res = ""
                  ElseIf Ok = 0 And Mis <> 0 And Par = 0 Then
                      Res = "Aérienne sans stock"
                  Else
                      Res = "Par Air"
                  End If
                  
              Case Is = "OD Promo", "OD Basic"
                  If Ok = 0 And Mis = 0 And Par = 0 Then
                      Res = ""
                  ElseIf Ok = 0 And Mis <> 0 And Par = 0 Then
                      Res = "pas de stock"
                  Else
                      Res = "A mettre en prépa le dispo"
                  End If
              
              Case Is = "Amfila"
                  If Ok = 0 And Mis = 0 And Par = 0 Then
                      Res = ""
                  ElseIf Ok = 0 And Mis <> 0 And Par = 0 Then
                      Res = "pas de stock"
                  Else
                      Res = "PLA Dispo"
                  End If
          End Select
      End Function
      


      Juste une petite remarque, il y a un désaccord entre la demande d'origine et le tableau de vérité concernant Amifila avec Missing seul . C'est "pas de stock" ou "PLA"

      le fichier:
      https://mon-partage.fr/f/r5zoC5as/

      CDlt
      1
      1. Bonjour,

        Il semble parfait votre fonction, je pourrais bien l'ajouter à une macro, pour la dernière remarque si missing donc juste PLA ça suffira

        Merci à tous pour les pour ces consignes
        Cdt
        Isa
        0
    2. Re,

      Salutations Frenchie83

      Vu le tableau complété en réponse 3 ;
      Ça confirme qu'il ne faut tenir compte que de la présence ou non d'une valeur en B ou D ;
      C n'est pas à prendre en compte sauf pour le cas ou les trois cellules sont vides.

      J'ai donc corrigé ma formule :

      =SI(ET(B2="";C2="";D2="");"";SI(ET(NBVAL(B2;D2)>0;A2="OD Urgent");"par Air";SI(ET(NBVAL(B2;D2)>0;OU(A2="OD Promo";A2="OD Basic"));"A mettre en prépa le dispo";SI(ET(NBVAL(B2;D2)>0;A2="Amfila");"PLA dispo";SI(ET(NBVAL(B2;D2)=0;A2="OD Urgent");"Aérienne sans stock";SI(ET(NBVAL(B2;D2)=0;OU(A2="OD Promo";A2="OD Basic";A2="Amfila"));"Pas de stock";""))))))

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

      Cordialement
      1