OVH Cloud OVH Cloud

Nombre de cellules dans une selection

9 réponses
Avatar
Martin
Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule sélectionée
ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)

9 réponses

Avatar
CAP2
Salut Martin,

ça doit marcher :

Private Sub CommandButton1_Click()
Dim cellule As Range
Dim nb As Integer

For Each cellule In Selection

If Not IsEmpty(cellule) Then
nb = nb + 1
End If

Next

End Sub

Avant le "end sub", la variable nb contient le nombre de valeurs non
vides...

Ca marche ?

CAP2

"Martin" a écrit dans le message de news:
#
Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule sélectionée
ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)




Avatar
isabelle
bonjour Martin,

nombre = Application.CountA(Selection.SpecialCells(xlCellTypeConstants,
23))

isabelle


Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule sélectionée
ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)


Avatar
Martin
Oui ca marche merci beaucoup!!

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

Salut Martin,

ça doit marcher :

Private Sub CommandButton1_Click()
Dim cellule As Range
Dim nb As Integer

For Each cellule In Selection

If Not IsEmpty(cellule) Then
nb = nb + 1
End If

Next

End Sub

Avant le "end sub", la variable nb contient le nombre de valeurs non
vides...

Ca marche ?

CAP2

"Martin" a écrit dans le message de news:
#
Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule
sélectionée


ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)








Avatar
Martin
Merci beaucoupe pour toute cette aide et les explications!

C'est très apprécié

"Michel Gaboly" a écrit dans le message de news:

Bonsoir

NBVAL() fait partie des fonctions que tu peux utiliser dans VBA, grâce
à l'objet WorksheetFunction, renvoyé par la propriété éponyme de l'objet
Application :

Sub NBVAL()
Dim Nb As Long
Nb = Application.WorksheetFunction.CountA(Selection)
MsgBox Nb
End Sub


Il est également possible d'écrire directement

Application.CountA

au lieu

Application.WorksheetFunction.CountA

mais il s'agit d'une syntaxe ancienne conservée pour des raisons
de compatibilité.


NB - VBA étant en anglais, il faut employer le nom des fonctions
en anglais également, d'ou le CountA à la place de NBVAL.




Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule
sélectionée


ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





Avatar
Michel Gaboly
Bonsoir

NBVAL() fait partie des fonctions que tu peux utiliser dans VBA, grâce
à l'objet WorksheetFunction, renvoyé par la propriété éponyme de l'objet
Application :

Sub NBVAL()
Dim Nb As Long
Nb = Application.WorksheetFunction.CountA(Selection)
MsgBox Nb
End Sub


Il est également possible d'écrire directement

Application.CountA

au lieu

Application.WorksheetFunction.CountA

mais il s'agit d'une syntaxe ancienne conservée pour des raisons
de compatibilité.


NB - VBA étant en anglais, il faut employer le nom des fonctions
en anglais également, d'ou le CountA à la place de NBVAL.




Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule sélectionée
ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Michel Gaboly
Bonsoir Isabelle,

Pourquoi utilises-tu SpecialCells ?

Tu ne renvoies ainsi que les cellules contenant une constante. Ce ne sont pas
les seules à avoir une valeur.

Selon moi, toute cellule contenant autre chose que juste un format particulier
(formule commençant par "=" ou constante) a une valeur, celle-ci pouvant
être le cas échéant zéro ou une chaîne vide.

Il est possible que Martin partage ton approche ;-)))

Cependant, SpecialCells présente un autre inconvénient : si la sélection ne
comporte qu'une cellule, SpecialCells(xlCellTypeConstants, 23) renvoie le
nombre total de constantes de la feuille entière.



bonjour Martin,

nombre = Application.CountA(Selection.SpecialCells(xlCellTypeConstants,
23))

isabelle


Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule sélectionée
ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)



--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
isabelle
bonjour Michel,

Bonsoir Isabelle,
Pourquoi utilises-tu SpecialCells ?


:-))
seulement pour éveiller la curiosité de Martin sur les possibilités de
SpecialCells, xlCellTypeConstants
1 nombres
2 texte
4 valeurs logiques
16 erreurs

23 étant l'addition de plusieurs constantes

isabelle

Avatar
Michel Gaboly
Re, Isabelle,

Je vois ;-))))



bonjour Michel,

Bonsoir Isabelle,
Pourquoi utilises-tu SpecialCells ?


:-))
seulement pour éveiller la curiosité de Martin sur les possibilités de
SpecialCells, xlCellTypeConstants
1 nombres
2 texte
4 valeurs logiques
16 erreurs

23 étant l'addition de plusieurs constantes

isabelle


--
Cordialement,

Michel Gaboly
http://www.gaboly.com


Avatar
Michel Gaboly
Re,

De rien, c'était avec plaisir ;-))



Merci beaucoupe pour toute cette aide et les explications!

C'est très apprécié

"Michel Gaboly" a écrit dans le message de news:

Bonsoir

NBVAL() fait partie des fonctions que tu peux utiliser dans VBA, grâce
à l'objet WorksheetFunction, renvoyé par la propriété éponyme de l'objet
Application :

Sub NBVAL()
Dim Nb As Long
Nb = Application.WorksheetFunction.CountA(Selection)
MsgBox Nb
End Sub


Il est également possible d'écrire directement

Application.CountA

au lieu

Application.WorksheetFunction.CountA

mais il s'agit d'une syntaxe ancienne conservée pour des raisons
de compatibilité.


NB - VBA étant en anglais, il faut employer le nom des fonctions
en anglais également, d'ou le CountA à la place de NBVAL.




Bonjour tout le monde,

J'aimerais savoir comment (en vba) savoir le nombre de cellule
sélectionée


ayant une valeur.

Quelque chose du genre selection.nbval, et mettre ce nombre dans une
variable mais je ne trouve pas comment faire.

Merci à l'avance et bonne journée :)


--
Cordialement,

Michel Gaboly
http://www.gaboly.com





--
Cordialement,

Michel Gaboly
http://www.gaboly.com