Compter le nombre de cellule qui corresponde à un critère

Bonjour à tous,

J'ai un tableau avec plusieurs colonnes et je souhaiterai faire une formule qui compte automatiquement le nombre de cellule qui corresponde à un critère (une date). J'ai pensé à faire une fonction nb si mais le problème c'est qu'il faut que la formule compte dans plusieurs colonnes et plusieurs lignes.

En faite, j'ai trois colonnes principales Magasin1, Magasin 2 et Magasin 3 et une colonne indiquant la date pour chaque ligne. Une date peut concernée plusieurs lignes. Sauf que il n'y a pas toujours 3 Magasins pour une ligne, il peut y en avoir que un ou deux. C'est pourquoi je voudrais compter combien il y a de magasins qui correspondent à une date donnée.

Je vous joins le fichier pour que ce soit un peu plus clair car je ne sais pas si j'ai bien expliqué étant donné que les vrais données sont confidentielles.

Merci par avance pour votre aide!

16test.xlsx (9.74 Ko)

Bonsoir,

Tu veux seulement le nombre de magasins ayant un article disponible à la date recherchée ? Quelque soit la ref produit ?

Bonsoir!

Je souhaiterai avoir le nombre de magasin à une date donnée quel que soit la référence sachant qu'il peut y avoir maximum 3 magasins par ligne et plusieurs lignes pour une date

Bonsoir !

Si j'ai bien compris ce qu'il faut compter...

Changer la date et exécuter la macro "comptage"

13test.xlsm (15.07 Ko)
=SOMMEPROD(1*(I4:I9=K2)*(D4:D9>0))+
SOMMEPROD(1*(I4:I9=K2)*(F4:F9>0))+
SOMMEPROD(1*(I4:I9=K2)*(H4:H9>0))
15test.xlsx (9.69 Ko)

en L2 :

=SOMMEPROD(((C4:C9)+(E4:E9)+(G4:G9))*(I4:I9=K2))
17test.xlsx (9.73 Ko)

Bonsoir,

Merci énormément, c'est exactement ça que je souhaitai faire!

Est ce que tu pourrais m'expliquer ton code s'il te plait ? :$

Car je n'ai pas compris comment tu as défini les cellules et la fonction "Offset"...

Encore merci!


Et une toute dernière question désolée ^^ est ce que tu penses que c'est possible d'appliquer ce code dans un tableau où il n'y aurait que des dates en colonne et que dans la deuxième colonne ca affiche le résultat de ton code pour chaque date ?


Désolée je n'avais pas reçu les 2 messages avant de répondre, ils répondent parfaitement à ma question!

Merci infiniment à vous tous, cela marche parfaitement !

A qui cette question s'adresse ?

Dans le cas de ma proposition, il suffit de définir les plages en absolu avec $, la formule pourra alors être recopiée.

Désolée mais je suis débutante, comment peux on définir les plages en absolu dans ton code ? Car je n'arrive pas à voir où tu as définis les plages :/

Par défaut, la plage est illimitée, quel que soit le nombre de lignes.

On peut adapter le code selon la plage à examiner mais pour un calcul par ligne, je pense qu'une formule est effectivement plus simple.

Le Offset décale de n lignes et n colonnes par rapport à une cellule donnée.


Dans une formule comme Steelson le propose, elle est définie en clair avec les $ pour la valeur absolue.

Dans VBA, si on donne une référence de cellule du tableau, excel sélectionne toutes les cellules concomitantes, d'où la nécessité impérative de ne jamais avoir une ligne ou une colonne vide dans un tableau.

En complément,

les plages sont $C$4:$C$9, $E$4:$E$9, $G$4:$G$9 et $I$4:$I$9

j'ai mis $ pour que lorsque la formule est dupliquée, les plages restent ce qu'elles sont; dans le cas contraire elles auraient bougé.

à toi d'adapter les plages en fonction de la longueur du tableau

=SOMMEPROD((($C$4:$C$9)+($E$4:$E$9)+($G$4:$G$9))*($I$4:$I$9=K2))

pour toi, la macro est peut-être plus souple

mais sans macro, c'est un bon exercice aussi !

Tout à fait d'accord Steelson ! Ça fait travailler les méninges...

L'avantage des macros, c'est qu'on a pas à se préoccuper de la taille du tableau.

Bonne journée !

Rechercher des sujets similaires à "compter nombre qui corresponde critere"