OVH Cloud OVH Cloud

compter les lignes non caché

21 réponses
Avatar
domind
bonjour à tous en ce dimanche pluvieux,

Je cherche à compter le nombre de lignes non caché (en VBA) et je pensais
que la ligne suivante pourrait le faire:

nbligne =
Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows.count

Le problème est qu'elle donne le nombre de ligne jusqu'à la première ligne
caché!

Quelqu'un connait il la fonction qui va bien.

Merci d'avance.

10 réponses

1 2 3
Avatar
domind
"RaMa" a écrit dans le message de
news:
Re bonjour
Ma reponse a ete enlevee du serveur!!!
une piste

For Each d In Selection.Rows
If d.EntireRow.Hidden = False Then
ss = ss + 1
End If
Next



Merci mais ce que je veux c'est comprendre pourquoi la fonction que j'ai mis
dans mon premier mail ne fonctionne pas car elle adaptée à ce que je voulais
et si elle ne l'est pas existe il une autre? si ce n'est pas le cas j'ai
effectivement d'autre solution. C'est pour la perfection!

Avatar
Philippe.R
Bonsoir domind,
Je serai bien tenté de mettre en cause le CurrentRegion, mais sans certitude...
Sans doute un grand, de passage, nous dira si mon début de piste vaut quelquechose !
--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"domind" a écrit dans le message de
news:40019e8d$0$22334$

"RaMa" a écrit dans le message de
news:
Re bonjour
Ma reponse a ete enlevee du serveur!!!
une piste

For Each d In Selection.Rows
If d.EntireRow.Hidden = False Then
ss = ss + 1
End If
Next



Merci mais ce que je veux c'est comprendre pourquoi la fonction que j'ai mis
dans mon premier mail ne fonctionne pas car elle adaptée à ce que je voulais
et si elle ne l'est pas existe il une autre? si ce n'est pas le cas j'ai
effectivement d'autre solution. C'est pour la perfection!







Avatar
isabelle
bonjour domind,

effectivement, la fonction =SOUS.TOTAL(3;A:A) inclue dans son résultat
le titre du champ.
tandis que la commande vba
.CurrentRegion.SpecialCells(xlCellTypeVisible).Rows.count ne l'inclue
pas.
va savoir le pourquoi, là il faudra demander à bilou %-)
isabelle


bonjour à tous en ce dimanche pluvieux,

Je cherche à compter le nombre de lignes non caché (en VBA) et je pensais
que la ligne suivante pourrait le faire:

nbligne > Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Rows.count

Le problème est qu'elle donne le nombre de ligne jusqu'à la première ligne
caché!

Quelqu'un connait il la fonction qui va bien.

Merci d'avance.


Avatar
domind
Bon j'ai enfin trouvé donc je répond à ma question pour ceux que cela
intéresse:

nblignevisible Range("A1").CurrentRegion.Columns(1).SpecialCells(xlCellTypeVisible).Cells.C
ount

Voilà c'est quand même mieux si on utilise les méthodes existantes.

PS: au fait isabelle SOUS.TOTAL ne sert pas à compter les lignes mais
compter les totaux des contenus de cellules.
Avatar
AV
Bon j'ai enfin trouvé donc je répond à ma question pour ceux que cela
intéresse:


Et la proposition que je t'ai faite ?

PS: au fait isabelle SOUS.TOTAL ne sert pas à compter les lignes mais
compter les totaux des contenus de cellules.


Hum....hum... t'es sur que ça ferait pas ?

AV

Avatar
domind
Désolé mais la fonction subtotal sert à calculer des sous totaux de contenu
de cellule et non pas compter des lignes.

Merci comme même !

"AV" a écrit dans le message de
news:
Bon j'ai enfin trouvé donc je répond à ma question pour ceux que cela
intéresse:


Et la proposition que je t'ai faite ?

PS: au fait isabelle SOUS.TOTAL ne sert pas à compter les lignes mais
compter les totaux des contenus de cellules.


Hum....hum... t'es sur que ça ferait pas ?

AV





Avatar
AV
Désolé mais la fonction subtotal sert à calculer des sous totaux de contenu
de cellule et non pas compter des lignes.


C'est que tu n'as pas bien assimilé cette fonction !

Exemple :
=SOUS.TOTAL(3;A:A)
le 1° argument (3) équivaut à la fonction NBVAL
Le résultat est donc le nbre de valeurs visibles de la colonne A

Faut pas sortir d'une grande école pour déduire que le nbre de valeurs visibles
d'une plage correspond au nombre de lignes visibles !

D'ailleurs, si tu avais simplement pris la peine d'essayer
MsgBox [subtotal(3,A:A)]
tu te serais rendu compte que le résultat renvoyé était le même que celui de ta
"trouvaille"
Range("A1").CurrentRegion.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count

Il faut évidemment appliquer la fonction sur la bonne plage !
AV

Avatar
...Patrick
ha si tu mets à contredire Alain, tu es pas sorti !!!!
essaye plutôt ce qu'il préconise et tu verras ...
...Patrick


"domind" a écrit dans le message de
news:P3FMb.1778$
Désolé mais la fonction subtotal sert à calculer des sous totaux de contenu
de cellule et non pas compter des lignes.

Merci comme même !

"AV" a écrit dans le message de
news:
Bon j'ai enfin trouvé donc je répond à ma question pour ceux que cela
intéresse:


Et la proposition que je t'ai faite ?

PS: au fait isabelle SOUS.TOTAL ne sert pas à compter les lignes mais
compter les totaux des contenus de cellules.


Hum....hum... t'es sur que ça ferait pas ?

AV










Avatar
domind
Désolé!
La prochaine je ferai l'effort d'essayer mais pour moi cette fonction n'a
pas la philosophie de ce que je recherche.
D'ailleurs il existe plein d'autre méthode pour obtenir ce que je
recherchais. Mais je préfère prendre les méthode ad-hoc.


"AV" a écrit dans le message de
news:
Désolé mais la fonction subtotal sert à calculer des sous totaux de
contenu


de cellule et non pas compter des lignes.


C'est que tu n'as pas bien assimilé cette fonction !

Exemple :
=SOUS.TOTAL(3;A:A)
le 1° argument (3) équivaut à la fonction NBVAL
Le résultat est donc le nbre de valeurs visibles de la colonne A

Faut pas sortir d'une grande école pour déduire que le nbre de valeurs
visibles

d'une plage correspond au nombre de lignes visibles !

D'ailleurs, si tu avais simplement pris la peine d'essayer
MsgBox [subtotal(3,A:A)]
tu te serais rendu compte que le résultat renvoyé était le même que celui
de ta

"trouvaille"

Range("A1").CurrentRegion.Columns(1).SpecialCells(xlCellTypeVisible).Cells.C

ount

Il faut évidemment appliquer la fonction sur la bonne plage !
AV






Avatar
isabelle
:-( y a des jours comme ça ou ya rien à faire,
en tout cas, grosse bisex pour le dépannage.
:-*
isabelle


Désolé mais la fonction subtotal sert à calculer des sous totaux de contenu
de cellule et non pas compter des lignes.


C'est que tu n'as pas bien assimilé cette fonction !

Exemple :
=SOUS.TOTAL(3;A:A)
le 1° argument (3) équivaut à la fonction NBVAL
Le résultat est donc le nbre de valeurs visibles de la colonne A

Faut pas sortir d'une grande école pour déduire que le nbre de valeurs visibles
d'une plage correspond au nombre de lignes visibles !

D'ailleurs, si tu avais simplement pris la peine d'essayer
MsgBox [subtotal(3,A:A)]
tu te serais rendu compte que le résultat renvoyé était le même que celui de ta
"trouvaille"
Range("A1").CurrentRegion.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count

Il faut évidemment appliquer la fonction sur la bonne plage !
AV



1 2 3