Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

TCD par macro, pb de destination

Pierwak

XLDnaute Occasionnel
Bonjour a tous et toutes,

Deux questions dans ce post :
1) Comment récupérer le chemin complet du fichier source pour créer un TCD dans le meme répertoire ?

2) Pour créer mon TCD, je crée d'abord un classeur avec le code suivant :
Code:
Sub createfile(name As String)
Dim NouveauClasseur As Workbook
Set NouveauClasseur = Workbooks.Add
    On Error Resume Next
    With NouveauClasseur
        .Title = name & ".xls"
        .Subject = name
        .SaveAs Filename:=name & ".xls"
    End With
End Sub

ensuite, je crée mon TCD avec
Code:
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        rgetabeur).CreatePivotTable TableDestination:="", TableName:= _
        "PivotTable3", DefaultVersion:=xlPivotTableVersion10
+ toute la définition du tableau
Le problème est que le tableau se crée sur un nouvel onglet "Sheet4" qui se crée automatiquement. J'aimerais que le tableau aille remplir automatiquement la "Sheet1". J'ai essayé de mettre TableDestination:="Sheet1" mais sans succès...

Je remercie d'avance toutes les personnes qui pourront m'aider à avancer sur ces problèmes.
 

RENAUDER

Nous a quitté
Repose en paix
Re : TCD par macro, pb de destination

Bonjour,

J'ai crée il y a quelques temps un TCD par VBA.
Voici le principe que j'avais utilisé.
Je crée une feuille nommée TCD et je l'inclus dans mon code comme suit et si cela peut t'aider :

Code:
Workbooks.Add
Sheets(1).Name = "TCD"
Sheets("Données").Activate
Range("A1").CurrentRegion.Select
ActiveWorkbook.Names.Add Name:="BD", RefersToR1C1:=Selection
Sheets("TCD").Activate
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="BD"). _
            CreatePivotTable TableDestination:="TCD!R2C1", TableName:= _
                             "TCD", DefaultVersion:=xlPivotTableVersion10
 
Dernière édition:

Pierwak

XLDnaute Occasionnel
Re : TCD par macro, pb de destination

Salut renauder et merci pour ta solution , je suis arrivé a placer mes TCD ou je le voulais dans le classeur.
Maintenant mon problème est de placer ce classeur lui meme !!! En effet, je ne souhaite pas mettre mes TCD dans le meme fichier que les données. Pour ce faire, il faut que je récupère l'emplacement du fichier de données et que je crée un sous repertoire "analyse" pour mettre dedans mon classeur avec les fichiers. Tant que je met la base dans mes document il n'y a aucun problème mais dès que j'essaye avec le ficheir source à un autre emplacement, le dossier se crée toujours dans "mes documents" et non pas dans le répertoire ou j'ai placé mon fichier source. Pour trouver le chemin du fichier source, j'utilise la fonction CurDir(). Malheursement, il semble qu'elle indique le répertoire par défaut défini dans les options et non le chemin du classeur source... Sachant qu'il m'est impossible de changer le répertoire par défaut de tous mes utilisateurs et qu'il risque en plus de changer, je dois absolument trouver un moyen de récupérer le chemin du fichier source et ce ou qu'il soit...
Si qqun a des idées... moi je seche un peu là...
 

Pierwak

XLDnaute Occasionnel
Re : TCD par macro, pb de destination

Merci tototiti tu viens de me donner l'idée d'utiliser un thisworkbook.path car le nom du fichier source peut varier. Du coup ca marche... je ne connaissais pas cette instruction .path ! Encore merci.
 

Discussions similaires

Réponses
1
Affichages
639
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…