Créer un TCD à destinations variables
Bonjour,
je suis un autodidacte du VBA, mais la je galère !
J'essaie de créer un TCD dans un classeur ou le nom de la feuille est variable et les données sont dans un autre fichier.
Je suis parti d'une macro enregistrée qui fonctionne, mais voila, pas mon script.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| Sub CreerTCD()
Dim Moisencours As String
Dim Lr As Integer
Moisencours = UCase(Mid(Format(Date, "Mmmm"), 1, 1)) & Mid(Format(Date, "Mmmm"), 2) & " " & Format(Date, "YYYY")
Call Nouvelle_Feuille
Workbooks.Open Filename:="\\U\Sollicitations\Données.xlsx"
Worksheets(Moisencours).Activate
Lr = Lastrow("A")
Workbooks("Stats.xlsm").Activate
MsgBox "[Données.xlsx]" & Moisencours & "!R1C1:R" & Lr & "C9"
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"[Données.xlsx]" & Moisencours & "!R1C1:R" & Lr & "C9", Version:=xlPivotTableVersion12). _
CreatePivotTable TableDestination:=Moisencours & "!R1C1", TableName:= _
"TCD1", DefaultVersion:=xlPivotTableVersion12
' ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
' "[Données.xlsx]Janvier 2013!R1C1:R13C9", Version:=xlPivotTableVersion12). _
' CreatePivotTable TableDestination:="Feuil1!R1C1", TableName:= _
' "Tableau croisé dynamique2", DefaultVersion:=xlPivotTableVersion12 |
La partie en commentaire est celle enregistrée automatiquement
Lastrow est une fonction que j'ai crée:
Code:
1 2 3
| Function Lastrow(Col As String) As Integer
Lastrow = Range(Col & Rows.Count).End(xlUp).Row
End Function |
Alors svp, aidez moi à comprendre mon erreur parce que la, je suis perdu.
Merci d'avance