OVH Cloud OVH Cloud

Nb de lignes distinctes

13 réponses
Avatar
Fan
Bonjour

J'ai 3 colonnes et je souhaiterais par vba connaitre le nombre de lignes
distinctes.

Merci

3 réponses

1 2
Avatar
Fan
Merci pour cette solution, elle correspond parfaitement à ce que j'esperais.

Puis-je vous demander comment remplacer "C6" par une variable.
Quand j'essaye de mettre MsgBox SDM ([A1: var]) , j'ai l'erreur 2015.


Merci


"JB" a écrit dans le message de
news:

Sub Essai()
MsgBox SDM([A1:C6])
End Sub

Function SDM(champ)
Set MonDico = CreateObject("Scripting.Dictionary")
a = champ
For i = LBound(a, 1) To UBound(a, 1)
temp = ""
For k = LBound(a, 2) To UBound(a, 2)
temp = temp & " " & a(i, k)
Next k
If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
Next i
SDM = MonDico.Count
End Function

http://cjoint.com/?cftxyKBr8n

JB



On 5 fév, 14:46, "Fan" wrote:
Merci pour votre réponse mais malheureusement je ne la comprends pas.

Pour être sur de ma demande je la reformule.

J'ai x lignes sur 4 colonnes (A, B, C, D) de la facon suivantes

A - B - C - D
10 - 5 - 1 - 8
14 - 5 - 1 - 9
19 - 6 - 1 - 10
10 - 5 - 1 - 11

Je recherche le nombres de lignes dictinctes sur les 1er colonnes ne
renant

ainsi pas compte de la dernière
le nombre attendu pour cette exemple devrait être : 3

C'est la méthode sous vba que je n'arrive pas à metre en oeuvre.

Merci

"JB" a écrit dans le message
denews:

Bonjour,

Donne la première et dernière ligne des colonnes B,C,D

PremLigne = [b:d].Find("*", , , , xlByRows, xlNext).Row
dernLigne = [b:d].Find("*", , , , xlByRows, xlPrevious).Row

JB

On 5 fév, 14:02, "Fan" wrote:



Bonjour

J'ai 3 colonnes et je souhaiterais par vba connaitre le nombre de lignes
distinctes.

Merci- Masquer le texte des messages précédents -


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



Avatar
JB
Bonjour,

Sub Essai()
' MsgBox SDM([A1:D6])
v = "D6"
MsgBox SDM(Range("A1:" & v))
End Sub

JB

On 6 fév, 10:26, "Fan" wrote:
Merci pour cette solution, elle correspond parfaitement à ce que j'esper ais.

Puis-je vous demander comment remplacer "C6" par une variable.
Quand j'essaye de mettre MsgBox SDM ([A1: var]) , j'ai l'erreur 2015.

Merci

"JB" a écrit dans le message denews:06101b09-0

Sub Essai()
  MsgBox SDM([A1:C6])
End Sub

Function SDM(champ)
 Set MonDico = CreateObject("Scripting.Dictionary")
 a = champ
 For i = LBound(a, 1) To UBound(a, 1)
    temp = ""
    For k = LBound(a, 2) To UBound(a, 2)
      temp = temp & " " & a(i, k)
    Next k
    If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
  Next i
  SDM = MonDico.Count
End Function

http://cjoint.com/?cftxyKBr8n

JB

On 5 fév, 14:46, "Fan" wrote:



Merci pour votre réponse mais malheureusement je ne la comprends pas.

Pour être sur de ma demande je la reformule.

J'ai x lignes sur 4 colonnes (A, B, C, D) de la facon suivantes

A - B - C - D
10 - 5 - 1 - 8
14 - 5 - 1 - 9
19 - 6 - 1 - 10
10 - 5 - 1 - 11

Je recherche le nombres de lignes dictinctes sur les 1er colonnes ne
renant

ainsi pas compte de la dernière
le nombre attendu pour cette exemple devrait être : 3

C'est la méthode sous vba que je n'arrive pas à metre en oeuvre.

Merci

"JB" a écrit dans le message


denews: .



Bonjour,

Donne la première et dernière ligne des colonnes B,C,D

PremLigne = [b:d].Find("*", , , , xlByRows, xlNext).Row
dernLigne = [b:d].Find("*", , , , xlByRows, xlPrevious).Row

JB

On 5 fév, 14:02, "Fan" wrote:

Bonjour

J'ai 3 colonnes et je souhaiterais par vba connaitre le nombre de lign es
distinctes.

Merci- 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 -- Masquer le texte des me ssages précédents -

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




Avatar
Fan
Merci beaucoup pour toutes ces réponses.


"JB" a écrit dans le message de
news:
Bonjour,

Sub Essai()
' MsgBox SDM([A1:D6])
v = "D6"
MsgBox SDM(Range("A1:" & v))
End Sub

JB

On 6 fév, 10:26, "Fan" wrote:
Merci pour cette solution, elle correspond parfaitement à ce que
j'esperais.


Puis-je vous demander comment remplacer "C6" par une variable.
Quand j'essaye de mettre MsgBox SDM ([A1: var]) , j'ai l'erreur 2015.

Merci

"JB" a écrit dans le message
denews:


Sub Essai()
MsgBox SDM([A1:C6])
End Sub

Function SDM(champ)
Set MonDico = CreateObject("Scripting.Dictionary")
a = champ
For i = LBound(a, 1) To UBound(a, 1)
temp = ""
For k = LBound(a, 2) To UBound(a, 2)
temp = temp & " " & a(i, k)
Next k
If Not MonDico.Exists(temp) Then MonDico.Add temp, temp
Next i
SDM = MonDico.Count
End Function

http://cjoint.com/?cftxyKBr8n

JB

On 5 fév, 14:46, "Fan" wrote:



Merci pour votre réponse mais malheureusement je ne la comprends pas.

Pour être sur de ma demande je la reformule.

J'ai x lignes sur 4 colonnes (A, B, C, D) de la facon suivantes

A - B - C - D
10 - 5 - 1 - 8
14 - 5 - 1 - 9
19 - 6 - 1 - 10
10 - 5 - 1 - 11

Je recherche le nombres de lignes dictinctes sur les 1er colonnes ne
renant

ainsi pas compte de la dernière
le nombre attendu pour cette exemple devrait être : 3

C'est la méthode sous vba que je n'arrive pas à metre en oeuvre.

Merci

"JB" a écrit dans le message



denews:




Bonjour,

Donne la première et dernière ligne des colonnes B,C,D

PremLigne = [b:d].Find("*", , , , xlByRows, xlNext).Row
dernLigne = [b:d].Find("*", , , , xlByRows, xlPrevious).Row

JB

On 5 fév, 14:02, "Fan" wrote:

Bonjour

J'ai 3 colonnes et je souhaiterais par vba connaitre le nombre de
lignes



distinctes.

Merci- 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 -- Masquer le texte des
messages précédents -


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




1 2