Compter le nombre de oui ou non selon les clients

Bonjour,

Je commence sous vba et je rencontre quelques difficulté. je vous explique :

j'ai une colonne avec un nombre de oui et non selon mes clients et les produits qu'ils souhaitent.

Chaque client est séparer par une casse produit comme vous pouvez le voir sur le fichier que j'ai joint

J'aimerais compter le nombre de oui et de non pour chaque client avec une macro et colorier la dernière valeur

Par exemple il y a 5 produits disponible 2 oui et 3 non, dans la colonne nombre oui/non j'aimerais pour chaque client avoir la dernière casse ici au deuxième oui et troisième non que la cellule soit colorier.

J'ai essayé avec une boucle do until quand la cellule est égale a produit. mais a chaque fois cela fait une boucle infini et cela ne reviens pas a 0 lorsqu'on change de client.

Merci de votre aide

Client 1ProduitNombre oui/non
Lait oui
cereales oui
boisson chaudenon
boissonfroidenon
barre chocolaté non
Client 2Produit
Lait non
cereales oui
boisson chaudeoui
boissonfroideoui
barre chocolaté oui
Client 3Produit
Lait non
cereales non
boisson chaudenon
boissonfroideoui
barre chocolaté oui
Client 4Produit
Lait oui
cereales oui
boisson chaudenon
boissonfroidenon
barre chocolaté oui

Bonjour

Chaque client est séparer par une casse produit comme vous pouvez le voir sur le fichier que j'ai joint

Votre fichier n'est pas joint à votre demande

Déjà à la vue de votre image, vous devez mentionner idéalement le client sur chaque ligne. Il faut travailler en base de données et donc pas de cellule vide

Cordialement

13client.csv (482.00 Octets)

Une précision

Exemple pour le client 1, vous aurez 2 en D3 et 3 en D6.
Je ne vois pas l'idée de colorier sachant que le colonne D ne comportera que deux valeurs par client

Quelle est la cellule à colorier pour l'exemple que je mentionne

Autre question : pour le client 4 vous avez un mélange de oui et de non. Vous voulez quoi :
- en D24 --> 1 ou 3 ? --> Cette solution est plus compliquée. Idéalement un tri serait nécessaire pour faciliter mais dans ce cas, il faudrait mentionner le nom du client dans chaque cellule en colonne A
ou
- 2 en D21, 2 en D23 et 1 en D24 ? --> cette solution est la plus simple

bonjour

une contribution sans VBA pour compter les "oui" ;sans modif de la presentation

quant à la MFC ; faisable ,mais sportif

cordialement

13gero.xlsx (10.17 Ko)

Merci beaucoup la solution avec une fonction me semble plus adapte pour mon problème. en effet je pense que je me suis compliqué la vie pour rien.

Une dernière question dans la formule lorsqu'il est écrit client cela correspond a quoi pour comprendre?

Re,
Salut Tulipe_4,

Effectivement la solution de Tulipe est préférable
Sinon vous aviez aussi la fonction Tableau croisé mais votre feuille devait être en base de données donc pas de vide et une seule ligne de titre. Via power query cela était probablement faisable

Cordialement

Merci beaucoup la solution avec une fonction me semble plus adapte pour mon problème. en effet je pense que je me suis compliqué la vie pour rien.

Une dernière question dans la formule lorsqu'il est écrit client cela correspond a quoi pour comprendre?

bien

donc ," client " c'est le nom donné à la colonne A qui contient les noms de client ,voir GESTIONNAIRE de NOMS ,,, cette plage est nommée en dynamique ce qui va permettre d'jouter des valeurs dans les colonnes ABC sans avoir a modifier , attention pas de vides dans les colonnes produit et oui/non

bien entendu ,il conviendra de dupliquer le tablo vert vers la droite pour recueillir le futur nb de clients

Merci beaucoup pour votre aide précieuse. J'ai peur de t'en demander trop tu n'es pas forcé de me répondre Tulipe_4 mais qu'elles ont été les étapes pour arriver au résultat pour que je puisse le réfère par moi même et bien tout comprendre.

re

pas facile mais

1) nommer ou renommer les plages pour ne pas avoir à mouliner des millions de lignes

2) j'ai commencé par extraire les noms de client afin d'avoir un critère

3) en dessous , la formule "tordue" crée des plages sous forme de texte qui sera utilisé par INDIRECT

exemple : pour client 1

on sait que Equiv renvoie toujours la 1ere position d'un client (ici c'est 1) ,le plus dur c'est de trouver la fin de sa plage .....

Heureusement , EQUIV (colonne des clients ; colonne des clients , 0) renvoie la position de tout les clients , il n'y a plus qu' a determiner la position immédiatement supérieure (celle de client 2) grace à MIN( si..........) et d'y oter 1 pour la fin de cette plage

cela donne pour faire le texte qui decrit la plage : la lettre & la position du critère &": la lettre" et la position immediatement superieure trouvée (le MIN) -1

C1:C6 est converti en zone de coordonnées exploitables grace à Indirect dans NB.SI selon le critère "oui"

astuce pour le dernier client qui n'a pas de suivant

son Min correspondra à 0 donc on utilise le nb de lignes effectives de la colonne des clients ,ici , c'est 24

néanmoins

l'ideal eût été d'indiquer le nom du client à chaque ligne ,,,,, ou de faire une colonne (amasquer) avec une formule qui bouche les trous que voila

=SI(LIGNE(A1)>LIGNES(client);"";INDEX(client;SOMMEPROD(MAX((A$1:A1<>"")*(LIGNE(A$1:A1))))))

a tirer vers le bas

Bonjour à tous

Pour compléter la palette des solutions, je me suis permis d'utiliser le tableau fait par Tulipe en espérant qu'il ne s'en offensera pas.

Et j'ai fait un essai macro, même si la proposition de Tulipe me semble la plus judicieuse (et la plus... savante ? en tout cas pour moi !)

12essai-v1.xlsm (17.82 Ko)

Bye !

Merci à tous. je n'en reviens pas de tant de gentillesse.

Bonjour, suite à cette échange j’aimerais sous la même forme de tableau mettre des heures de commandes donc avoir plusieurs fois client 1 etc pour les autres aussi. J aimerais que ça compte toujours. Exactement la même chose mais que ça sépare les clients. Je m explique client 1 commande 30 fois dans l année j aimerais à chaque fois le nombre de oui et non. Et pas une case avec les oui et non pour les 30 fois en une fois.
je sais pas si je suis claire mais voila

Merci d’avance

Rechercher des sujets similaires à "compter nombre clients"