Macro compter cellules non vides colonne visibles

Résolu/Fermé
Donou12 Messages postés 7 Date d'inscription vendredi 20 octobre 2017 Statut Membre Dernière intervention 2 janvier 2018 - Modifié le 20 oct. 2017 à 14:33
Donou12 Messages postés 7 Date d'inscription vendredi 20 octobre 2017 Statut Membre Dernière intervention 2 janvier 2018 - 23 oct. 2017 à 13:31
Bonjour à tous !

Je tiens à préciser pour ma défense que VBA je connais un peu mais sans plus ^^

J'essaie de compter le nombre de cellules non vides sur les colonnes que je n'ai pas masqué. En effet les colonnes peuvent-être masquées/affichées via une autre macro, c'est pour présenter une synthèse.

Donc pour ce problème, la fonction sous-total 109 ne fonctionne pas (car masquage en colonnes)
J'ai donc pu trouver une macro qui fonctionne parfaitement pour additionner seulement les données des colonnes visibles en créant une nouvelle formule intitulée SommeVisibles (macro que j'utilise) :

Function SommeVisibles(champ As Range)
Application.Volatile
t = 0
For Each c In champ
If Not c.EntireRow.Hidden And Not c.EntireColumn.Hidden Then
t = t + c.Value
End If
Next c
SommeVisibles = t
End Function



Celle-ci fonctionne avec une macro private_sub (pourquoi?):

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub



J'aimerais avoir la même pour compter les cellules non vides dans une colonne, j'ai essayé ça mais j'ai une erreur #VALEUR

Function NbVisibles(champ As Range)
Application.Volatile
t = 0
For Each c In champ
t = t + c.CountA
Next c
NbVisibles = t
End Function



Merci, j'espère avoir été assez clair :D

5 réponses

thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
23 oct. 2017 à 11:28
Essayer ceci

Function NbVisibles(champ As Range)
Dim cell As Range

Application.Volatile
NbVisibles = 0
For Each cell In champ
If Not cell.EntireRow.Hidden And Not cell.EntireColumn.Hidden _
And Not IsEmpty(cell) Then NbVisibles = NbVisibles + 1
Next cell

End Function

--
 
1
Donou12 Messages postés 7 Date d'inscription vendredi 20 octobre 2017 Statut Membre Dernière intervention 2 janvier 2018
23 oct. 2017 à 13:31
Un très grand merci à toi Thev

Ca parait tellement simple quand on a la solution!!

Je te souhaite une excellente journée, t'es le best

Donou
0