XL 2016 Calculer un sous total dans une TextBox

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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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
 

Eric4709

XLDnaute Nouveau
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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
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"))
 

Eric4709

XLDnaute Nouveau
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
 

ChTi160

XLDnaute Barbatruc
Bonjour
Bonjour le Fil (sylvanu) ,le Forum
voilà ce que j'ai adapté et qui semble fonctionner.
VB:
Private Sub UserForm_Initialize()
Atterrissage_ROFO.CA_Réalisé.Text = Application.Subtotal(9, Feuil1.Range("AE:AE"))
End Sub
jean marie
 

Discussions similaires

Statistiques des forums

Discussions
312 098
Messages
2 085 267
Membres
102 845
dernier inscrit
Baticle.geo