Bonjour
Je cherche depuis 2 jours comment faire un tableau croisé dynamique en visual basic script
Je n'ai malheureusement trouvé aucune aide par l'outil recherche et google n'arrive pas à répondre à mon problème
Les principales discussions sur le sujets finissent toujours par regarde le code VBA et adapte , c'est ce que j'ai donc essayé.
Je pense être sur la bonne voie mais je bloque sur une erreur d'execution dans excel
mon code:
Le premier message test apparait donc je présume xlpvtcache et bien crée surtout que la ligne qui suit ne me dit pas objet introuvable.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open("S:\80-19_PMO_TDB\temp") objExcel.Visible = true Set wbook = objExcel.Workbooks(1) Set xlsheet1 = wbook.Worksheets(2) Set xlsheet2 = wbook.Worksheets(2) Set xlPvtCache = wBook.PivotCaches.Add(1 , xlsheet1.Range("A1:D10")) MsgBox "test" Set xlPvtTable = xlPvtCache.CreatePivotTable(xlsheet2.Range("A1"), "aie1", 1) MsgBox "test"
Lors du lancement du script le fichier excel est bien ouvert, mais j'obtiens une erreur dans excel :
Ce qui fait naturellement planté ensuite le script par:Le nom du champ du tableau croisé dynamique n'est pas valide. Pour créer un rapport de tableau croisée dynamique, vous devez utiliser des données sous forme de liste avec des etiquettes des colonnes. Si vous changer le nom d'un champ de tableau croisé dynamique, vous devez tapper un nouveau champ pour le nom.
erreur d'éxécution inconnue...
Je ne comprends pas l'erreur excel.
D'après mes recherches cela pouvait venir de :
- un nom de tableau avec des accents, ce n'est pas le cas ici
- un colonne sans titre, ce n'est pas le cas ici
- une case vide dans ma selection, ce n'est pas le cas non plus -_-
du coup j'ai plus d'idée...
Pour info mon fichier excel est :
Donc rien de vraiment compliqué à priori mais je ne comprends pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 champs1 champs2 champs3 donnee a b 1 1 a bb 1 2 a bbb 2 1 aa b 1 2 aa bb 2 1 aa bbb 1 2 aaa b 2 1 aaa bb 1 2 aaa bbb 1 1
Donc voila si quelqu'un a une quelconque idée je suis preneur
Merci de votre attention et merci d'avance de vos réponses
Partager