bendouch71
XLDnaute Nouveau
J'ai créé une macro pour automatiser l'édition d'un TCD .
Je lance la macro a partir d'un bouton.
Cela marche des fois et certaines fois j'ai un message d'erreur :"erreur de compilation", j'ai testé sur un autre pc et cela fonctionne , en gardant les memes données sources. C'est bizarre; voici mon code :
Si quelqu'un pouvait m'éclairer dessu. merci
Je lance la macro a partir d'un bouton.
Cela marche des fois et certaines fois j'ai un message d'erreur :"erreur de compilation", j'ai testé sur un autre pc et cela fonctionne , en gardant les memes données sources. C'est bizarre; voici mon code :
Code:
Sub Macro8()
Dim lign As Variant
Dim col As Variant
Dim dernlign As Variant
Dim ligntcd As String
Dim ligntcd2 As Integer
Dim coltcd As String
Dim coltcd2 As Integer
Dim zonetcd As Range
' on réinitialise les filtres pour le smauvaises surprises
Dim ws As Worksheet
For Each ws In Worksheets
If ws.FilterMode Then ws.ShowAllData
Next ws
' on cherche la derniére ligne des donénes sources
dernlign = Worksheets("Liste VH").Range("A1").End(xlDown).Address
dernlign = Worksheets("Liste VH").Range(dernlign).Row
col = 15
Sheets("TCD").Select
' suppression de l'éventuel ancien TCD pour pouvori l'écraser
Cells.Select
Selection.ClearContents
Sheets("TCD").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'Liste VH'!R1C1:R" & dernlign & "C11").CreatePivotTable TableDestination:= _
"TCD!R3C1", TableName:="Tableau croisé dynamique10", _
DefaultVersion:=xlPivotTableVersion10
With ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields("Nouv. Affect.")
.Orientation = xlColumnField
.Position = 1
End With
With ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
"type" & Chr(10) & "mat" & Chr(10) & "CDP")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique10").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique10").PivotFields("NOVH"), "Somme de NOVH" _
, xlSum
ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotSelect "", _
xlDataAndLabel, True
Range("A3").Select
ActiveSheet.PivotTables("Tableau croisé dynamique10").PivotFields( _
"Somme de NOVH").Function = xlCount
End sub
Si quelqu'un pouvait m'éclairer dessu. merci
Dernière édition: