Formule précise pour plusieurs conditions

Fermé
Isaiasnj Messages postés 57 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 25 mai 2022 - 15 déc. 2019 à 23:11
PapyLuc51 Messages postés 4392 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 6 novembre 2024 - 16 déc. 2019 à 13:46
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.
A voir également:

4 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
16 déc. 2019 à 06:40
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
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
PapyLuc51 Messages postés 4392 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 6 novembre 2024 1 445
Modifié le 16 déc. 2019 à 07:48
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
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
16 déc. 2019 à 13:11
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
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
PapyLuc51 Messages postés 4392 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 6 novembre 2024 1 445
16 déc. 2019 à 13:46
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