SourceData Tableaux Croisé Dynamique
Résolu
kprime95
-
kprime95 -
kprime95 -
Bonjour à tous, je vous explique mon problème.
J'aimerai faire un TCD à partir d'un worksheet dont je ne connais pas le nom a l'avance, je m'explique j'ai un bouton qui me demande quel fichier excel je veux ouvrir, je clique sur le fichier le fichier demander s'ouvre les données sortent et j'aimerai qu'a partir de là le TCD se crée tout seul. Voilà le code pour l'instant
Inutile d'aller plus loin le problème vient du SourceData. Que mettre dans celui ci ?
Bien à vous
V.B.
J'aimerai faire un TCD à partir d'un worksheet dont je ne connais pas le nom a l'avance, je m'explique j'ai un bouton qui me demande quel fichier excel je veux ouvrir, je clique sur le fichier le fichier demander s'ouvre les données sortent et j'aimerai qu'a partir de là le TCD se crée tout seul. Voilà le code pour l'instant
Public Sub Outbound() '************************************* 'On choisit le fichier que l'on veut * '************************************* Dim wbSource, wbFichierUsager As Workbook Dim strFileName As String Dim intChoice As Integer Set wbFichierUsager = ThisWorkbook Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False intChoice = Application.FileDialog(msoFileDialogOpen).Show If intChoice <> 0 Then strFileName = Application.FileDialog(msoFileDialogOpen).SelectedItems(1) Workbooks.Open strFileName Set wbSource = ActiveWorkbook Else MsgBox "La procédure est annulée car aucun fichier n'a été entré." Exit Sub End If Application.ScreenUpdating = False Dim DernLigne As Long DernLigne = Range("A" & Rows.Count).End(xlUp).Row Sheets.Add ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ "strFileName!R1C1:R" & DernLigne & "C16", Version:=xlPivotTableVersion15). _ CreatePivotTable TableDestination:="Feuil1!R3C1", TableName:= _ "Tableau croisé dynamique", DefaultVersion:=xlPivotTableVersion15 Application.ScreenUpdating = True
Inutile d'aller plus loin le problème vient du SourceData. Que mettre dans celui ci ?
Bien à vous
V.B.
3 réponses
Bonjour
sur quelle ligne la procédure s'arr^te elle ?
quel est le message ?
qu'appelles tu sourcedata ?
Merci d'^tre clair et précis
peut-^tre un indice:
les déclarations de variables sont fausses
tel quel wbsource est un variant et non un workbook
sur quelle ligne la procédure s'arr^te elle ?
quel est le message ?
qu'appelles tu sourcedata ?
Merci d'^tre clair et précis
peut-^tre un indice:
les déclarations de variables sont fausses
tel quel wbsource est un variant et non un workbook
Bonjour,
Salut Michel,
Or strFileName est une variable, donc à sortir des guillemets :
Mais bon, ça ne fonctionnera pas davantage car :
strFileName = nom du classeur
or SourceDate:= NomFeuille!RmachinCtruc
Salut Michel,
SourceData:= _
"strFileName!R1C1:R"
Or strFileName est une variable, donc à sortir des guillemets :
SourceData:= _ & strFileName & "!R1C1:R"
Mais bon, ça ne fonctionnera pas davantage car :
strFileName = nom du classeur
or SourceDate:= NomFeuille!RmachinCtruc
Bonjour, merci à vous pour vos réponses. Excusez moi pour le manque de clarté de mon message.
En attendant vos réponses j'ai "triché" voici ce que j'ai écris et qui fonctionne plutôt correctement.
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= "R1C1:R" & DernLigne & "C16", Version:=xlPivotTableVersion15)
Apparemment je n'ai besoin de préciser le nom de la feuille sur lequel je travaille bien que ça ne soit pas très rigoureux cela fonctionne.
Je précise que le nom de la feuille est strictement équivalent au nom du classeur.
Je vais tester la solution de pijaku.
Bien à vous
V.B.
En attendant vos réponses j'ai "triché" voici ce que j'ai écris et qui fonctionne plutôt correctement.
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= "R1C1:R" & DernLigne & "C16", Version:=xlPivotTableVersion15)
Apparemment je n'ai besoin de préciser le nom de la feuille sur lequel je travaille bien que ça ne soit pas très rigoureux cela fonctionne.
Je précise que le nom de la feuille est strictement équivalent au nom du classeur.
Je vais tester la solution de pijaku.
Bien à vous
V.B.
En supposant que ta feuille n'a pas comme nom : machin.csv, je penses que strFileName est différent du nom de ta feuille.
Mais bon l'important étant que cela fonctionne.
Il convient de préciser le nom de la feuille pour le cas ou celle-ci ne serait pas la feuille active.
Si tu es sur à 100% qu'à chaque lancement de ta macro elle est active, nul besoin de le préciser.
Mais bon l'important étant que cela fonctionne.
Il convient de préciser le nom de la feuille pour le cas ou celle-ci ne serait pas la feuille active.
Si tu es sur à 100% qu'à chaque lancement de ta macro elle est active, nul besoin de le préciser.