Fonction Countif

Le
Toto
Bonsoir,

Je souhaiterais ecrire en vba, une partie de programme qui me donne, pour
une colonne d'une feuille excel, le nombre de valeurs différentes qu'elle
contient.
Pour ceux qui connaissent les fonctions de Macrofunc, c'est l'équivalent de
la fonction NB.DIFF.
Mes recherches sur le web n'ont rien donné
Je pense qu'une des solutions pourrait être rédigée à l'aide de COUNTIF,
mais j'ai du mal à en trouver la syntaxe.

Merci par avance à ceux qui pourraient m'éclairer

Cdlt

GA
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #16547411
Bonsoir,

x = [Sumproduct(1/countif(A2:A10,A2:A10))]

JB
http://boisgontierjacques.free.fr

On 14 août, 18:53, "Toto"
Bonsoir,

Je souhaiterais ecrire en vba, une partie de  programme qui me donne, p our
une colonne d'une feuille excel, le nombre de valeurs différentes qu'el le
contient.
Pour ceux qui connaissent les fonctions de Macrofunc,  c'est l'équiva lent de
la fonction NB.DIFF.
Mes recherches sur le web  n'ont rien donné
Je pense qu'une des solutions pourrait être rédigée à l'aide de C OUNTIF,
mais j'ai du mal à en trouver la syntaxe.

Merci par avance à ceux qui pourraient m'éclairer

Cdlt

GA


Toto
Le #16548001
Merci Jacques pour la célérité de ta réponse.

Un eccueil toutefois. Cette formule fonctionne très bien... si le nombre de
valeurs de la colonne n'est pas trop important.
Pour ce qui me concerne, j'ai 15 000 articles. Le programme met près de 45
secondes pour apporter la réponse. La formule NB.DIFF met 0,04 seconde.

Qui dit mieux...

Cdlt


"JB"
Bonsoir,

x = [Sumproduct(1/countif(A2:A10,A2:A10))]

JB
http://boisgontierjacques.free.fr

On 14 août, 18:53, "Toto"
Bonsoir,

Je souhaiterais ecrire en vba, une partie de programme qui me donne, pour
une colonne d'une feuille excel, le nombre de valeurs différentes qu'elle
contient.
Pour ceux qui connaissent les fonctions de Macrofunc, c'est l'équivalent
de
la fonction NB.DIFF.
Mes recherches sur le web n'ont rien donné
Je pense qu'une des solutions pourrait être rédigée à l'aide de COUNTIF,
mais j'ai du mal à en trouver la syntaxe.

Merci par avance à ceux qui pourraient m'éclairer

Cdlt

GA


JB
Le #16548061
Function NBDiff(champ As Range)
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In champ
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
NBDiff = MonDico.Count
End Function

Sub essai()
MsgBox NBDiff([A1:A10])
End Sub

JB



On 14 août, 20:58, "Toto"
Merci Jacques pour la célérité de ta réponse.

Un eccueil toutefois. Cette formule fonctionne très bien... si le nombr e de
valeurs  de la colonne n'est pas trop important.
Pour ce qui me concerne, j'ai 15 000 articles. Le programme met près de 45
secondes pour apporter la réponse. La formule NB.DIFF met 0,04 seconde.

Qui dit mieux...

Cdlt

"JB"
Bonsoir,

x = [Sumproduct(1/countif(A2:A10,A2:A10))]

JBhttp://boisgontierjacques.free.fr

On 14 août, 18:53, "Toto"


> Bonsoir,

> Je souhaiterais ecrire en vba, une partie de programme qui me donne, po ur
> une colonne d'une feuille excel, le nombre de valeurs différentes qu' elle
> contient.
> Pour ceux qui connaissent les fonctions de Macrofunc, c'est l'équival ent
> de
> la fonction NB.DIFF.
> Mes recherches sur le web n'ont rien donné
> Je pense qu'une des solutions pourrait être rédigée à l'aide de COUNTIF,
> mais j'ai du mal à en trouver la syntaxe.

> Merci par avance à ceux qui pourraient m'éclairer

> Cdlt

> GA- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


JB
Le #16548051
Function NBDiff(champ)
Set MonDico = CreateObject("Scripting.Dictionary")
temp = Application.Transpose(champ)
For Each c In temp
If Not MonDico.Exists(c) Then MonDico.Add c, c
Next c
NBDiff = MonDico.Count
End Function

Sub essai()
MsgBox NBDiff([A1:A10])
End Sub

JB


On 14 août, 21:07, JB
Function NBDiff(champ As Range)
  Set MonDico = CreateObject("Scripting.Dictionary")
  For Each c In champ
    If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
  Next c
  NBDiff = MonDico.Count
End Function

Sub essai()
   MsgBox NBDiff([A1:A10])
End Sub

JB

On 14 août, 20:58, "Toto"


> Merci Jacques pour la célérité de ta réponse.

> Un eccueil toutefois. Cette formule fonctionne très bien... si le nom bre de
> valeurs  de la colonne n'est pas trop important.
> Pour ce qui me concerne, j'ai 15 000 articles. Le programme met près de 45
> secondes pour apporter la réponse. La formule NB.DIFF met 0,04 second e.

> Qui dit mieux...

> Cdlt

> "JB" >
> Bonsoir,

> x = [Sumproduct(1/countif(A2:A10,A2:A10))]

> JBhttp://boisgontierjacques.free.fr

> On 14 août, 18:53, "Toto"
> > Bonsoir,

> > Je souhaiterais ecrire en vba, une partie de programme qui me donne, pour
> > une colonne d'une feuille excel, le nombre de valeurs différentes q u'elle
> > contient.
> > Pour ceux qui connaissent les fonctions de Macrofunc, c'est l'équiv alent
> > de
> > la fonction NB.DIFF.
> > Mes recherches sur le web n'ont rien donné
> > Je pense qu'une des solutions pourrait être rédigée à l'aide de COUNTIF,
> > mais j'ai du mal à en trouver la syntaxe.

> > Merci par avance à ceux qui pourraient m'éclairer

> > Cdlt

> > GA- Masquer le texte des messages précédents -

> - Afficher le texte des messages précédents -- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Toto
Le #16548671
Excellent et encore merci

Cdlt

GA


"JB"


Function NBDiff(champ As Range)
Set MonDico = CreateObject("Scripting.Dictionary")
For Each c In champ
If Not MonDico.Exists(c.Value) Then MonDico.Add c.Value, c.Value
Next c
NBDiff = MonDico.Count
End Function

Sub essai()
MsgBox NBDiff([A1:A10])
End Sub

JB



On 14 août, 20:58, "Toto"
Merci Jacques pour la célérité de ta réponse.

Un eccueil toutefois. Cette formule fonctionne très bien... si le nombre
de
valeurs de la colonne n'est pas trop important.
Pour ce qui me concerne, j'ai 15 000 articles. Le programme met près de 45
secondes pour apporter la réponse. La formule NB.DIFF met 0,04 seconde.

Qui dit mieux...

Cdlt

"JB"
Bonsoir,

x = [Sumproduct(1/countif(A2:A10,A2:A10))]

JBhttp://boisgontierjacques.free.fr

On 14 août, 18:53, "Toto"


> Bonsoir,

> Je souhaiterais ecrire en vba, une partie de programme qui me donne,
> pour
> une colonne d'une feuille excel, le nombre de valeurs différentes
> qu'elle
> contient.
> Pour ceux qui connaissent les fonctions de Macrofunc, c'est l'équivalent
> de
> la fonction NB.DIFF.
> Mes recherches sur le web n'ont rien donné
> Je pense qu'une des solutions pourrait être rédigée à l'aide de COUNTIF,
> mais j'ai du mal à en trouver la syntaxe.

> Merci par avance à ceux qui pourraient m'éclairer

> Cdlt

> GA- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -


Publicité
Poster une réponse
Anonyme