Bonsoir,
J'ai effectué une macro d'un TCD en enregistrement automatique. le problème qui se pose est que la plage de donnée sera la même pour les prochains TCD. Donc risque de perte d' infos si mon prochain fichier à un nombre supérieur de ligne. Il y a la possibilité de sélectionner toutes la feuille en plage de donnée mais en faisant cela mon fichier à une taille de 5mo et je me retrouve avec une ligne vide.
Peux t'on modifier la plage de donnée de la macro afin que celle ci ne selectionne que les cellules pleines.
Merci
Voiçi la macro
Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 25/04/2008 par tintin
'
'
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Feuil1!R2C1:R119C57").CreatePivotTable TableDestination:="", TableName:= _
"Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Motif Except.").Subtotals = Array(False, False, False, False, False, False, False, _
False, False, False, False, False)
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields("Échéance"). _
Subtotals = Array(False, False, False, False, False, False, False, False, False, False, _
False, False)
ActiveSheet.PivotTables("Tableau croisé dynamique2").AddFields RowFields:= _
Array("Échéance", "Données"), ColumnFields:="Motif Except."
With ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"N° Pièce")
.Orientation = xlDataField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique2").PivotFields( _
"Montant Total HT Facture").Orientation = xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
End Sub