[Excel] [VBA] Création d'une fonction
Fangio64
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour à tous.
Je cherche à créer une fonction sur VBA pour faire la somme d'une colonne d'une base de donnée en fonction de la visibilité ou non des cellules (suite à un trie).
Il s'agit d'une base de données où l'ajout de données se fait à la 7 ème ligne. Donc la fonction SOUS.TOTAL d'excel ne fonctionne pas.
J'ai essayé de faire ce code mais il ne marche pas.
Y a t il quelqu'un qui puisse m'aider.
Merci d'avance
Je cherche à créer une fonction sur VBA pour faire la somme d'une colonne d'une base de donnée en fonction de la visibilité ou non des cellules (suite à un trie).
Il s'agit d'une base de données où l'ajout de données se fait à la 7 ème ligne. Donc la fonction SOUS.TOTAL d'excel ne fonctionne pas.
J'ai essayé de faire ce code mais il ne marche pas.
Public Function SOMME_VISIBLE(Numéro_colonne As Integer) As Single
Dim x as integer
x=0
For Each Cell In Range(Cells(7,[Numéro_colonne]),Cells(6+[nb_enregistrement],[Numéro_colonne]))
If Cell.Rows.Hidden = False Then x=x+Cell
End if
Next
SOMME_VISIBLE = x
End Function
Y a t il quelqu'un qui puisse m'aider.
Merci d'avance
A voir également:
- [Excel] [VBA] Création d'une fonction
- Fonction si et excel - Guide
- Liste déroulante excel - Guide
- Déplacer une colonne excel - Guide
- Word et excel gratuit - Guide
- Creation compte gmail - Guide
1 réponse
Bonjour,
Suggestion :
Lupin
Suggestion :
Option Explicit
'
Public Function SOMME_VISIBLE(Numéro_colonne As Integer) As Single
Dim Plage As Range, Cellule As Range
Application.Volatile
'Set Plage = Range(Cells(7, [Numéro_colonne]), Cells(6 + [nb_enregistrement], [Numéro_colonne]))
Set Plage = Range("A1:B2")
SOMME_VISIBLE = 0
For Each Cellule In Plage
If Cellule.Rows.Hidden = False Then
SOMME_VISIBLE = SOMME_VISIBLE + Cellule.Value
End If
Next
End Function
'
Lupin