Casse tête de NB.SI.ENS

Bonjour à tous et merci déja pour tout ce que vous faîtes!!

J'ai cherché de mon côté pendant plusieurs heures et sur votre forum mais damned je ne trouve pas :(

Je suis en train de centraliser tous les menus que j'ai à l'hôpital pour faciliter le travail de la cuisine (tout est anonyme sans logo également)

Je vous joins le fichier où j'aimerais compter le nombre de cases cochées (avec un x) ajouté à plusieurs critères (diabétique et goutte) voire à plusieurs critères (diabétique,goutte,mixé).j'ai déjà fait quelques formules mais je bloque sur le NB.SI.ENS sur plusieurs critères

La cerise sur le gâteau serait en plus que si la formule correspond à plusieurs critères, les autres formules à critère simple ne s'incrémente pas: si par ex 3 menus diabétiques et 1 menu diabétique goutteux alors je n'aurais que 3 sur la case diabétique (et non 4 car double critère exclusif)et 1 par conséquent sur diabétique goutteux...

J'espère avoir été assez clair et merci d'avance pour ce que vous pourriez faire pour moi

Belle journée à vous

Bonjour,

Vous ne pouvez pas procéder directement avec le tableau tel qu'il est construit, il faut passer par un tableau intermédiaire qui reprend les données en ligne, il suffit ensuite d'utiliser la fonction "SOMMEPROD" pour comptabiliser les éléments recherchés.

Regardez les formules en B109 à B114, vous pouvez vous amuser à combiner toutes les conditions simplement en choisissant les colonnes à comptabiliser.

Cdlt

Salut Ruben,

ayant compris ta "cerise" sur le fond mais pas trop sur la forme, il faudrait plus cibler les cellules ayant besoin de cette formule : j'ai mis des couleurs : explique !
Petit plus, il te suffit de cliquer sur une cellule pour afficher/effacer le "x".

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
If Target.Count = 1 Then _
    If Target.Row <= 100 And Target.Column Mod 2 = 0 And Target.Offset(0, 1) <> "" Then _
        Target = IIf(Target = "x", "", "x"): _
        Target.Offset(0, 1).Select
'
End Sub
11ruben.xlsm (23.32 Ko)


A+

Bonjour,

Une variante à la propositin de curulis57, que je salue.
Cdlt.

9ruben-v2.xlsm (23.26 Ko)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Target
        If .CountLarge = 1 Then
            If .Row >= 4 And .Row <= 100 And .Column Mod 2 = 0 And .Offset(0, 1).Value <> "" Then
            .Value = IIf(.Value = "x", "", "x")
            .Offset(0, 1).Select
            End If
        End If
    End With
End Sub

Merci Jean Eric, Curulis 57 et Arturo 83 pour votre travail.

Jean Eric c'est presque ça!!

Curulis les cases à cocher c'est top!

C'est malheureusement plus complexe que ça et c'est difficile à bien expliquer

Les cuisiniers doivent faire des plats qui correspondent à plusieurs régimes croisés parfois ce ne sera que des plats diabétiques ou que des plats suivant le régime de la goutte donc facile à comptabiliser; seulement quand il y a un plat qui correspond aux régimes à la fois diabétique et goutte (la joie de la diététique et de la cuisine en hôpital) alors ça ne devrait pas faire une somme sur la case diabétique et sur la case goutte (= à 2 plats) car c'est un tout autre plat à savoir diabétique et goutte (1 plat répondant aux critères des aliments exclus pour la goutte et répondant aux critères du diabète)..Voilà mon casse tête en fait et je ne sais pas si c'est possible à faire...

J'ai peur de ne pas être assez clair surtout...Par exemple j'ai 3 repas diabétique et 2 repas goutte + 1 repas diabétique/goutte ca devrait me comptabiliser donc 6 repas ..avec les formules d'addition sur vos excels ça me fait 4 repas diabétique (le diabétique du repas diabétique goutte est compté) + 3 repas goutte (idem) + 1repas diabétique goutte = 8 repas

La cerise serait que lorsque j'ai un repas qui cumule à la fois la condition de diabétique et de goutte donc 1 repas diabétique goutte (et parfois ça peut aller jusqu'à la texture moulinée ou hachée etc) ça ne s'incrémente pas sur la case que repas diabétique et à la fois sur la case que goutte mais bien sur la case uniquement correspondant à 1 plat diabétique goutte

En vous remerciant déjà pour votre travail et temps

J'ai coché les plats de régimes mixtes en fonction de leur ordre d'écriture donc 1er repas sera 1 diabétique/goutte second repas sera un diabétique sans résidu strict etc etc

En espérant que vous puissiez m'aider

Bonjour,

Dans la proposition que j'avais déposé et comme je l'avais précisé, vous pouviez jouer sur les combinaisons des éléments( il suffisait d'inclure ou d'exclure les éléments de votre choix.

Exemple: pour ne compter que les "Diabétiques" seuls, il faut s'assurer de ne pas prendre en compte les "Goutteux" et inversement.

exemple pour les diabétiques seuls: =SOMMEPROD(($M$4:$M$100=1)*($N$4:$N$100=0))

pour les goutteux seuls: =SOMMEPROD(($M$4:$M$100=0)*($N$4:$N$100=1))

Pour les Diabétiques/gouteux: =SOMMEPROD(($M$4:$M$100=1)*($N$4:$N$100=1))

On peut multiplier les exemples, je ne vous en donne que quelques uns, mais si vous avez compris le principe vous pouvez faire ce que vous voulez.

J'ai repris la macro évènementielle de JEAN ERIC que je salue, puisque c'est plus pratique, j'ai aussi ajouté un bouton pour tout effacer en une seule fois.

Cdlt

Bonjour Arturo,

je me suis trompé en début de message c'était votre solution qui était presque ça et qui est en fait La solution ! je n'avais pas réussi à creuser assez Merci c'est parfait je vous remercie chaleureusement !

Rechercher des sujets similaires à "casse tete ens"