XL 2016 Calculer un sous total dans une TextBox

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 !

Eric4709

XLDnaute Nouveau
Bonjour à tous,

Je me tourne une nouvelle fois vers la communauté pour résoudre un problème que je rencontre.

J'ai un tableau comprenant plus de 6000 ligne et 70 colones. Ce tableau contient des dates en colonne BN et des montants en AE.

Ce que je voudrai faire ici c'est afficher dans une TextBox1 (renommée CA_Réalisé) que j'ai créé, le sous total des montants livrés (Colonne AE) dans le mois en cours (en fonction des dates de la colonne BN).

J'ai tenté ce code mais visiblement il ne fonctionne pas :

Private Sub CA_Réalisé_Change()
Dim NoCol As Integer
NoCol = Application.Match("Date TP système", Range("1:1"), 0) ' recherche de la bonne colonne
ActiveSheet.ListObjects("Suivi_M53").Range.AutoFilter Field:=NoCol, Criteria1 _
:=xlFilterThisMonth, Operator:=xlFilterDynamic
CA_Réalisé.FormulaLocal = "=sous.total(9;AE1:AEl0000)"
End Sub

Je ne peux malheureusement pas mettre le fichier en ligne car il contient des données confidentielles.

J'espère que ma demande n'est pas trop brouillonne.

Merci d'avance pour vos retour.

Bien cordialement à tous.
 
Bonjour Eric,
En conservant la structure de votre macro :
VB:
Private Sub CA_Réalisé_Change()
Dim NoCol As Integer
NoCol = Application.Match("Date TP système", Range("1:1"), 0) ' recherche de la bonne colonne
ActiveSheet.Range(Cells(1, NoCol), Cells(1000, NoCol)).AutoFilter Field:=1, Criteria1 _
:=xlFilterThisMonth, Operator:=xlFilterDynamic
' calcul du CA mensuel
CA_Réalisé = Application.Subtotal(9, Range("AE:AE"))
' suppression du filtre mensuel
ActiveSheet.Range(Cells(1, NoCol), Cells(1000, NoCol)).AutoFilter Field:=1
End Sub
 
Dans ma macro CA_Réalisé est une variable.
Pour un textbox dans la feuille, essayez :
VB:
' calcul du CA mensuel
ActiveSheet.CA_Réalisé.Text = Application.Subtotal(9, Range("AE:AE"))
sinon pour un textbox dans un userform précisez le nom du userform à la place de Worksheet.
 
Bonsoir Sylvanu,

Voici le Code tel que j'ai essayé de le retranscrire dans mon fichier. Mais lorsque j'active la macro, le sous total ne s'affiche toujours .

Code:
Private Sub CA_Réalisé_Change()
Dim NoCol As Integer
NoCol = Application.Match("Date TP système", Range("1:1"), 0)    ' recherche de la bonne colonne
ActiveSheet.Range(Cells(1, NoCol), Cells(1000, NoCol)).AutoFilter Field:=1, Criteria1 _
:=xlFilterThisMonth, Operator:=xlFilterDynamic
' calcul du CA mensuel
ActiveSheet.Atterrissage_ROFO.CA_Réalisé.Text = Application.Subtotal(9, Range("AE:AE"))
' suppression du filtre mensuel
ActiveSheet.Range(Cells(1, NoCol), Cells(1000, NoCol)).AutoFilter Field:=1
End Sub

Merci d'avance pour ton aide.
 
Bonsoir,
Sans le fichier difficile à dire.
Si Atterrissage_ROFO est un userform alors faites simplement, (le userform n'est pas dans activesheet)
VB:
Atterrissage_ROFO.CA_Réalisé.Text = Application.Subtotal(9, Range("AE:AE"))
Vérifiez que le subtotal marche en faisant pour essai :
Code:
[A1]= Application.Subtotal(9, Range("AE:AE"))
 
Bonsoir,
Sans le fichier difficile à dire.
Si Atterrissage_ROFO est un userform alors faites simplement, (le userform n'est pas dans activesheet)
VB:
Atterrissage_ROFO.CA_Réalisé.Text = Application.Subtotal(9, Range("AE:AE"))
Vérifiez que le subtotal marche en faisant pour essai :
Code:
[A1]= Application.Subtotal(9, Range("AE:AE"))

Sylvanu,

Lorsque je teste subtotal dans A1 il fonctionne parfaitement.
Mais elle le sous total ne remonte dans le champs Text de ma UserForm
 
- 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
Retour