résultat de filtre dans usf

  • Initiateur de la discussion Initiateur de la discussion flaneur
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

flaneur

XLDnaute Junior
Bonsoir,

Je souhaiterai savoir s’il est possible d’ avoir un total lors d’un choix
D’un filtre.
Dans mon tableau si je choisi une date, une VLE ou autre je voudrais connaître
Le total de la durée (en colonne C) de suite dans un USF qui s’activerait dés
Le filtre sélectionné ( usf avec avec un bouton fermeture)
Et cela pour tout les mois de l’année (un mois par feuille)

merci de bien vouloir m'aider.
 

Pièces jointes

Re : résultat de filtre dans usf

Bonsoir, dans le fichier joint, je t'ai rajouté une macro provoquée par l'ovale jaune.
J'avais réussi à intercepter l'évènement Filtre automatique par l'évènement Private Sub Workbook_SheetCalculate(ByVal Sh As Object), mais après fermeture du fichier puis réouverture l'évènement ne fonctionne plus 🙁.
Le code pour la macro :

Sub nb_heures()
If Evaluate("SUM($B$5:$B$51)") <> Evaluate("Subtotal(9,$B$5:$B$51)") Then
z = Evaluate("=TEXT(" & Application.Substitute(Evaluate("Subtotal(9,$B$5:$B$51)"), ",", ".") & ",""[h]:mm"")")
MsgBox z
End If
End Sub

la variable z sur une seule ligne, variable que tu peux récupérer pour utilisation ultérieure
 

Pièces jointes

Re : résultat de filtre dans usf

RE-,
OK, je sais pourquoi.......😱
Pour pouvoir intercepter le filtre, tu mets dans la cellule O1 de chaque feuille cette formule : =SOUS.TOTAL(9;B5:B51)
Tu mets la police de la cellule en blanc pour ne pas la voir apparaître, et ainsi, à chaque filtre, la procédure va se déclencher.
fichier modifié (NB, j'ai laissé la formule visible dans la cellule O1, pour que tu puisses la voir)
 

Pièces jointes

Re : résultat de filtre dans usf

Bonsoir,

Merci pour ta réponse,
C'est bien ce que je voulais, mais le résultat est faux.

Effectivement 😱

J'avais pris en référence la colonne B, or, il fallait la colonne C

Donc dans le code :

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Evaluate("SUM($B$5:$B$51)") <> Evaluate("Subtotal(9,$B$5:$B$51)") Then
z = Evaluate("=TEXT(" & Application.Substitute(Evaluate("Subtotal(9,$B$5:$B$51)"), ",", ".") & ",""[h]:mm"")")
MsgBox z
End If
End Sub

En réflechissant un tout petit peu, tu aurais pu voir que la zone à tester ((9,$B$5:$B$51) pouvait facilement être remplacée par :
(9,$C$5:$C$51)

Donc le code final :

Private Sub Workbook_SheetCalculate(ByVal Sh As Object)
If Evaluate("SUM($C$5:$C$51)") <> Evaluate("Subtotal(9,$C$5:$C$51)") Then
z = Evaluate("=TEXT(" & Application.Substitute(Evaluate("Subtotal(9,$C$5:$C$51)"), ",", ".") & ",""[h]:mm"")")
MsgBox z
End If
End Sub
 
Re : résultat de filtre dans usf

Merci pour ta réponse, c'est nickel.

Désolé pour la reflexion, mais je suis surbooké et très très mauvais en VBA.
j'avoue t' avoir laisser faire mon boulot sans me pencher réellement sur le
problème pensant ne pas avoir les capacités et le temps suffisant.
ne m'en veux pas trop, moi je te remercie beaucoup d' avoir bien voulu me
répondre.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Lecture vocale USF
Réponses
5
Affichages
169
Réponses
6
Affichages
510
Réponses
2
Affichages
288
Réponses
0
Affichages
476
Réponses
2
Affichages
556
Retour