Private Sub Worksheet_Calculate()
[e3] = [SUBTOTAL(103,e6:e5000)]
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With
If Target.Column = 5 And Target.Row > 5 Then [e3] = [SUBTOTAL(103,e6:e5000)]
With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With
End Sub
Bonjour à tous,
Un autre essai qui utilise une fonction personnalisée LigAff(xplage As Range).
Cette fonction renvoie un tableau dont chaque élément i est égal :
Ce tableau est un tableau est en "colonne". xplage doit être une plage de cellules contiguës. Cela fonctionne aussi s'il n'y qu'une cellule dans xplage.
- à 1 si la i ème ligne de la xplage est visible
- à 0 si la i ème ligne de la xplage est masquée
Cette fonction est utilisable dans une expression de type SOMMEPROD ==> voir cellules C3 et E3.
Dans le tableau, les cellules fusionnées ont été "dé-fusionnées". Les cellules vides ont été "re-vidées".
Le filtre a été appliqué sur la zone A5:E30.
Re.
Place ceci dans le module de la feuille en question
Eventuellement adapter la plage
Code:Private Sub Worksheet_Calculate() [e3] = [SUBTOTAL(103,e6:e5000)] End Sub Private Sub Worksheet_Change(ByVal Target As Range) With Application: .ScreenUpdating = False: .Calculation = xlManual: .EnableEvents = False: End With If Target.Column = 5 And Target.Row > 5 Then [e3] = [SUBTOTAL(103,e6:e5000)] With Application: .EnableEvents = True: .Calculation = xlAutomatic: .ScreenUpdating = True: End With End Sub
Re..Connaissez vous des sites pour apprendre à rédiger en VBA ?
Bonjour à tous,
Un autre essai qui utilise une fonction personnalisée LigAff(xplage As Range).
Cette fonction renvoie un tableau dont chaque élément i est égal :
Ce tableau est un tableau est en "colonne". xplage doit être une plage de cellules contiguës. Cela fonctionne aussi s'il n'y qu'une cellule dans xplage.
- à 1 si la i ème ligne de la xplage est visible
- à 0 si la i ème ligne de la xplage est masquée
Cette fonction est utilisable dans une expression de type SOMMEPROD ==> voir cellules C3 et E3.
Dans le tableau, les cellules fusionnées ont été "dé-fusionnées". Les cellules vides ont été "re-vidées".
Le filtre a été appliqué sur la zone A5:E30.
Re..Je n'arrive pas à faire fonctionner votre formule en VBA.
Je n'arrive pas à faire fonctionner votre formule en VBA.