Bonjour,
J'ai une colonne B qui possède de nombreux noms (nom+prénom), parfois certain se répètent.
J'aimerai savoir combien de noms différents j'ai dans cette colonne B.
Y a-t-il une fonction qui fait cela rapidement ?
Merci,
@+
Olivier
Bonjour,
J'ai une colonne B qui possède de nombreux noms (nom+prénom), parfois certain se répètent.
J'aimerai savoir combien de noms différents j'ai dans cette colonne B.
Y a-t-il une fonction qui fait cela rapidement ?
Merci,
@+
Olivier
Bonjour,
Pour compter le nombre d'entrée différente dans les 300 premières lignes de la colonne B.
source solution traduite et adaptée de : >>ici<<
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SOMMEPROD((B1:B300<>"")/NB.SI(B1:B300;B1:B300&""))
Tout d'abord, merci pour la réponse,
En effet, cela fonctionne et je comprend l'approche, mais n'existe-t-il pas une fonction en vba ?
Merci,
@+
Olivier
Bonjour,
Cordialement,Envoyé par aide VBA
Ps : si le côté technique de la réponse = OK ou pas => pensez à cliquer sur les pouces et quand question résolue à la taguer résolue, et chaque action vous rapporte des points
Didier
Ormonth, je suspecte fortement que countif est la fct que je cherche...
J'explique en détail mon sujet :
J'ai une colonne A qui possède l'info NB ou CP. Dans une colonne B j'ai les Noms et prénoms.
Je veux connaitre le nombre de noms différents en NB et CP. Je sais faire avec des boucles, mais je suspecte que countif va gérer cela...
Je vais fouiller cela...
Merci,
@+
Olivier
Je cherche depuis plusieurs heures et je m'appercois que le countif ne fonctionne pas en multi-conditions.
BlueMonkey : Je pense que ta solution est pas loin des besoins :
1 - Comment traduire cela en VBA sans injecter une formule dans une cellule, mais en injectant le résultat dans une variable ?
2 - Je suis conscient que je n'avais pas parlé des multi-conditions, mais comment compter le nombre d'occurences avec un critère situé dans une autres colonne.
Pour résumer : Compter le nombre de noms différents dans la cononne B ayant un textes "NB" comme information dans une colonne A ?
Je m'excuse de ne pas avoir été précis dans ma première demande, en fait je découvre la complexité du besoin en fouillant, car moi même j'ai évolué dans mon besoin (clair maintenant).
Merci,
@+
Olivier
Bonjour,
Pour le nouveau besoin :
- filtre sur la présence de NB en colonne A
- compte le nombre d'entrée unique en colonne B
... la formule sous Excel s'écrirait :
Pour le transposer en VBA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part =SOMMEPROD((A1:A300="NB")*(B1:B300<>"")/NB.SI(B1:B300;B1:B300&""))
- utiliser soit Evaluate("<l'expression excel>")
- soit utiliser WorksheetFunction.SumProduct et WorksheetFunction.CountIf
en remplacement de SOMMEPROD et NB.SI
Merci BlueMonkey,
J'essaye de comprendre :
Si je traduit, tu fais :=SOMMEPROD((A1:A300="NB")*(B1:B300<>"")/NB.SI(B1:B300;B1:B300&""))
La somme si j'ai "NB" dans les 300 premières cellules de la colonne A, si j'ai quelque chose différent de vide dans les 300 premières cellules de la colonne B.
Par contre à quoi sert ce signe "/"
Et que veut dire : B300&"" ?
Je vais comprendre.
Merci,
Olivier
Bonsoir,
il s'agit bien d'une division. (démonstration dans exemple ci-joint)Par contre à quoi sert ce signe "/"
Le second paramètre de la fonction NB.SI() est une condition [B]Et que veut dire : B300&"" ?
J'interprète cette écriture comme permettant de :
- récupérer la valeur de chaque cellule de la plage B1:B300.
- Puis de transformer la valeur au format texte avec la concaténation &""
afin l'utiliser comme critère de test.
Pour bien comprendre :
- le comptage d'élément unique : voir >>ici<<
- présentation simple de SOMMEPROD(<critère 1> x ... x <critère n> x <champs à aditionner>) >>ici<<
- une décomposition de SOMMEPROD en opérations simples (voir fichier joint)
Rmq : La formule dans son état actuelle n'est pas parfaite : si un prénom existe hors plage COL<A>="NB",
le nombre d'éléments unique est faux.![]()
BlueMonkey, merci, je regarde cela en début de semaine, et j'informe...
@+
Olivier
Partager