Autres Sous-total et array

  • Initiateur de la discussion Initiateur de la discussion michel1941
  • 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 !

michel1941

XLDnaute Nouveau
Bonjour à tous,

J'ai une partie de code VBA qui fonctionne pour créer les sous-totaux des colonnes 2 à 122.
Est-il possible de simplifier la liste en donnant le limites de celle.çi . Içi 3 et 122.
C'est juste pour simplifier l'écriture, sans changer la formule.
Merci d'avance de votre aide.
 

Pièces jointes

Bonjour Michel,
Un fichier texte ! Pourquoi pas le fichier XL directement avec une petite explication ?
Si c'est pour faire des sous totaux en passant par du VBA, pourquoi ne pas faire faire au VBA directement les calculs ?
Evidemment cela dépend du contexte, mais souvent c'est faisable facilement.
 
Pas vexé, mais stupéfait.
A tester :
VB:
    Dim Tablo(1 To 120)
    For i = 1 To 120
        Tablo(i) = i + 2
    Next i
et ensuite :
Code:
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(Tablo), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ou
Code:
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Tablo, Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Pas pu tester hors contexte du fichier.
 
Pas vexé, mais stupéfait.
A tester :
VB:
    Dim Tablo(1 To 120)
    For i = 1 To 120
        Tablo(i) = i + 2
    Next i
et ensuite :
Code:
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(Tablo), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ou
Code:
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Tablo, Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Pas pu tester hors contexte du fichier.
J'ai testé mais l'erreur suivante apparaît à l'exécution
la méthode subtotal de la classe range a échoué.
 
Comme de toute façon on n'aura aucun fichier test puisqu'à priori "Vous pensiez avoir été clair."
Un dernier essai en PJ pour clore mon intervention.
La macro proposée marche, à vous de mettre au point dans votre contexte.
VB:
Worksheets("Feuil1").Activate
Dim tablo(1 To 9)
For i = 1 To 9: tablo(i) = i: Next i
Range("1:10").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=tablo, Replace:=True, PageBreaks:=False, SummaryBelowData:=True
20230614_165105.gif
 

Pièces jointes

Comme de toute façon on n'aura aucun fichier test puisqu'à priori "Vous pensiez avoir été clair."
Un dernier essai en PJ pour clore mon intervention.
La macro proposée marche, à vous de mettre au point dans votre contexte.
VB:
Worksheets("Feuil1").Activate
Dim tablo(1 To 9)
For i = 1 To 9: tablo(i) = i: Next i
Range("1:10").Select
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=tablo, Replace:=True, PageBreaks:=False, SummaryBelowData:=True
Regarde la pièce jointe 1172444
 
- 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

Réponses
5
Affichages
318
Réponses
26
Affichages
1 K
Retour