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.
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.
Je pensais avoir été clair. Remplacer l'énumération des 120 colonnes avec quelque chose comme (3 to 122) dans mon exemple. Je ne veux rien changer d'autre dans ce qui fonctionne, juste simplifier l'écriture.
Je suis désolé si je t'ai vexé. Je cherchais seulement une réponse à un problème "cosmétique" dans un ensemble de 500 lignes.
Merci pour tes autres contributions.
Amicalement
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
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