[Excel] [VBA] Création d'une fonction

Fermé
Fangio64 - 6 juil. 2007 à 11:56
 Utilisateur anonyme - 6 juil. 2007 à 13:39
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.

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:

1 réponse

Utilisateur anonyme
6 juil. 2007 à 13:39
Bonjour,

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
1