Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

sylvanu

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

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"))
 

ChTi160

XLDnaute Barbatruc
Bonsoir Eric4709
Bonsoir sylvanu
pourquoi dans cette procédure ?
VB:
Private Sub CA_Réalisé_Change()
on entre des données dans CA_Réalisé et ensuite on va y afficher le Sous total ?
j'ai surement rien Compris Lol
jean marie
 

Eric4709

XLDnaute Nouveau
Bonjour à tous et merci de l'intérêt que vous portez à cette discussion.

Je souhaite effectivement afficher le sous total d'une colonne dans un Userform, contenant plusieurs TextBox, que je fais apparaître via un bouton personnalisé.
 

Eric4709

XLDnaute Nouveau

Sylvanu,

Lorsque je teste subtotal dans A1 il fonctionne parfaitement.
Mais elle le sous total ne remonte dans le champs Text de ma UserForm
 

Eric4709

XLDnaute Nouveau
Désolé je pensais avoir mis le bon fichier.
Je souhaiterai afficher le sous total en € de la colonne AE en fonction des dates du mois en cours de la colonne BN
 

Pièces jointes

  • Test.xlsm
    56.4 KB · Affichages: 7

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…