Sous total gros fichier

Bonjour tout le monde.

Un problème en chasse un autre .

Je me retrouve avec un fichier important ou je dois calculer des sous totaux.

j'ai utilisé sous forme de macro les fonctionnalités prévues :

Selection.Subtotal GroupBy:=3, Function:=xlSum, TotalList:=Array(5, 6), _

Replace:=False, PageBreaks:=False, SummaryBelowData:=True

Cela fonctionnait bien mais des que mon fichier de départ dépasse 30000 lignes ça plante .

Quelqu'un aurait il une autre solution.

merci

17fichier-gros.xlsx (682.45 Ko)

Bonjour,

Si tu as fait une macro, pourquoi mettre un fichier sans cette macro,

Il s'agit peut-être simplement d'une variable mal déclarée

Bonjour

La fonctionnalité de sous-totaux est obsolète (notamment incompatible avec tableaux structurés, TCD...)

Elle ne fonctionne que si on classe les données... Et dans ce cas il est plus simple de calculer les sous totaux par formule dans une ou deux colonnes supplémentaires que de casser la structure liste...

Dans ton exemple la code chercherait à additionner les colonnes 5 et 6 : or la 5 est en texte...

Faisable en quelques clics par TCD...

Bonjour 78Chris et M12

J'ai oublié de préciser que la colonne 3 est supprimée avant d'actionner la macro présentée.

Ce qui explique les sous totaux sur 5 et 6 , en effet étant donné que je propose le fichier de depart, j'aurai du présenter le problème avec colonne 6 et 7, désolé.

Qu'est ce que TCD ?

Re

Tableau Croisé Dynamique.

Simple, puissant, l'OUTIL d'analyse statistique par excellence...

C'est mieux que VBA ?

Bonsoir jactitine,

Tu a écrit :

Cela fonctionnait bien mais dès que mon fichier de départ dépasse 30 000 lignes ça plante.

Tu dois avoir une variable ligne déclarée ainsi : Dim ligne As Integer ; ou : Dim ligne% (c'est idem)

Étendue des nombres d'un Integer : -32768 à +32767 (c'est noté dans l'aide VBA sur Integer)

donc c'est normal que ça plante (hélas) à partir de la ligne n° 32768 !

Solution : mets : Dim ligne As Long ; ou : Dim ligne&


Regarde aussi la variable qui te sert pour calculer la dernière ligne ; exemple :

Sub Essai()
  Dim dlig As Long ' ou : Dim dlig&
  dlig = Cells(Rows.Count, 1).End(xlUp).Row
  ' suite de la sub
End Sub

Tu as demandé : est-ce qu'un Tableau Croisé Dynamique (TCD) est mieux que VBA ? c'est complètement différent !

VBA est un langage de programmation alors qu'un TCD n'en n'est pas un ; regarde l'aide Excel sur les TCD.

dhany

RE

C'est mieux que VBA ?

Pour compléter : VBA n'ajoute pas de fonctionnalité à Excel, il utilise ce qui existe : un TCD peut être créé et géré manuellement (conseillé dans la plupart des cas) ou par VBA.

Le TCD est mieux que les sous-totaux, moches (à mon goût) mais surtout obsolètes comme déjà dit...

Merci tous le monde vous avez résolu mon probleme

Rechercher des sujets similaires à "total gros fichier"