Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tableau croisé dynamique

12 réponses
Avatar
esteban
Bonjour,

Je réalise une macro de création de tableau croisé dynamique et je voudrais
que ma macro me demande où sélectionner les données et où insérer le tableau
croisé dynamique. Mais celle-ci ne fonctionne pas ... Je crois que le
dysfonctionnement vient des 4 dernières lignes.

Merci par avance pour votre aide.

Sub

Set MaPlage = Application.InputBox(prompt:="Sélectionnez une plage de
cellules", Title:="Plage de cellules", Left:=500, Top:=300, Type:=8)

Set MaCellule = Application.InputBox(prompt:="Sélectionnez l’emplacement de
destination", Title:="Cellule", Left:=500, Top:=300, Type:=8)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
MaPlage).CreatePivotTable TableDestination:=MaCellule, TableName:= _
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
"C", ColumnFields:="T"
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("M"). _
Orientation = xlDataField
'
End Sub

10 réponses

1 2
Avatar
Daniel
Bonjour.
Qu'est-ce qui ne fonctionne pas ? le code plante ? ou tu n'obtiens pas ce
que tu veux ?
Cordialement.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

Je réalise une macro de création de tableau croisé dynamique et je
voudrais
que ma macro me demande où sélectionner les données et où insérer le
tableau
croisé dynamique. Mais celle-ci ne fonctionne pas ... Je crois que le
dysfonctionnement vient des 4 dernières lignes.

Merci par avance pour votre aide.

Sub

Set MaPlage = Application.InputBox(prompt:="Sélectionnez une plage de
cellules", Title:="Plage de cellules", Left:P0, Top:00, Type:=8)

Set MaCellule = Application.InputBox(prompt:="Sélectionnez l'emplacement
de
destination", Title:="Cellule", Left:P0, Top:00, Type:=8)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
MaPlage).CreatePivotTable TableDestination:=MaCellule, TableName:=
_
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
"C", ColumnFields:="T"
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("M").
_
Orientation = xlDataField
'
End Sub



Avatar
esteban
Rebonjour,

en fait, lorsque je déclenche ma macro, une boite de dialogue s'ouvre
"Erreur d'exécution 1004 : Impossible de lire la propriété PivotTables de la
classe worksheet"

Malgrès tout, excel me dessine bien les bordures du tableau mais n'insère
pas les données. Et je ne vois absolument pas pourquoi ...


Bonjour.
Qu'est-ce qui ne fonctionne pas ? le code plante ? ou tu n'obtiens pas ce
que tu veux ?
Cordialement.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

Je réalise une macro de création de tableau croisé dynamique et je
voudrais
que ma macro me demande où sélectionner les données et où insérer le
tableau
croisé dynamique. Mais celle-ci ne fonctionne pas ... Je crois que le
dysfonctionnement vient des 4 dernières lignes.

Merci par avance pour votre aide.

Sub

Set MaPlage = Application.InputBox(prompt:="Sélectionnez une plage de
cellules", Title:="Plage de cellules", Left:P0, Top:00, Type:=8)

Set MaCellule = Application.InputBox(prompt:="Sélectionnez l'emplacement
de
destination", Title:="Cellule", Left:P0, Top:00, Type:=8)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
MaPlage).CreatePivotTable TableDestination:=MaCellule, TableName:=
_
"Tableau croisé dynamique1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
"C", ColumnFields:="T"
ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("M").
_
Orientation = xlDataField
'
End Sub








Avatar
Daniel
As-tu essayé de faire le même tableau manuellement avec les mêmes plages ?
Daniel
"esteban" a écrit dans le message de
news:
Rebonjour,

en fait, lorsque je déclenche ma macro, une boite de dialogue s'ouvre
"Erreur d'exécution 1004 : Impossible de lire la propriété PivotTables de
la
classe worksheet"

Malgrès tout, excel me dessine bien les bordures du tableau mais n'insère
pas les données. Et je ne vois absolument pas pourquoi ...


Bonjour.
Qu'est-ce qui ne fonctionne pas ? le code plante ? ou tu n'obtiens pas ce
que tu veux ?
Cordialement.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

Je réalise une macro de création de tableau croisé dynamique et je
voudrais
que ma macro me demande où sélectionner les données et où insérer le
tableau
croisé dynamique. Mais celle-ci ne fonctionne pas ... Je crois que le
dysfonctionnement vient des 4 dernières lignes.

Merci par avance pour votre aide.

Sub

Set MaPlage = Application.InputBox(prompt:="Sélectionnez une plage de
cellules", Title:="Plage de cellules", Left:P0, Top:00, Type:=8)

Set MaCellule = Application.InputBox(prompt:="Sélectionnez
l'emplacement
de
destination", Title:="Cellule", Left:P0, Top:00, Type:=8)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=
_
MaPlage).CreatePivotTable TableDestination:=MaCellule,
TableName: >> > _
"Tableau croisé dynamique1",
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
"C", ColumnFields:="T"
ActiveSheet.PivotTables("Tableau croisé
dynamique1").PivotFields("M").
_
Orientation = xlDataField
'
End Sub










Avatar
esteban
Oui, je suis en fait parti du modèle de l'enregistrement de macro du tableau
croisé dynamique pour construire ma macro.

Juste pour précision : j'ai essayé ma macro seule et elle semble
fonctionner, mais c'est à partir du moment ou je la met à la suite d'autres
macros, qu'elle m'ouvre une boite de dialogue ...


As-tu essayé de faire le même tableau manuellement avec les mêmes plages ?
Daniel
"esteban" a écrit dans le message de
news:
Rebonjour,

en fait, lorsque je déclenche ma macro, une boite de dialogue s'ouvre
"Erreur d'exécution 1004 : Impossible de lire la propriété PivotTables de
la
classe worksheet"

Malgrès tout, excel me dessine bien les bordures du tableau mais n'insère
pas les données. Et je ne vois absolument pas pourquoi ...


Bonjour.
Qu'est-ce qui ne fonctionne pas ? le code plante ? ou tu n'obtiens pas ce
que tu veux ?
Cordialement.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

Je réalise une macro de création de tableau croisé dynamique et je
voudrais
que ma macro me demande où sélectionner les données et où insérer le
tableau
croisé dynamique. Mais celle-ci ne fonctionne pas ... Je crois que le
dysfonctionnement vient des 4 dernières lignes.

Merci par avance pour votre aide.

Sub

Set MaPlage = Application.InputBox(prompt:="Sélectionnez une plage de
cellules", Title:="Plage de cellules", Left:P0, Top:00, Type:=8)

Set MaCellule = Application.InputBox(prompt:="Sélectionnez
l'emplacement
de
destination", Title:="Cellule", Left:P0, Top:00, Type:=8)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=
_
MaPlage).CreatePivotTable TableDestination:=MaCellule,
TableName: > >> > _
"Tableau croisé dynamique1",
DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= _
"C", ColumnFields:="T"
ActiveSheet.PivotTables("Tableau croisé
dynamique1").PivotFields("M").
_
Orientation = xlDataField
'
End Sub















Avatar
Garette
Esteban,

Ici http://cjoint.com/?cAmkoC0Yh3 un exemple qui fonctionne.
J'ai des pb de fonctionnement si :
- je change les noms de champs
- si un TCD du meme nom exixte deja dans la feuille
- si je cherche à le mettre dans un autre onglet
Avatar
Daniel
Juste pour précision : j'ai essayé ma macro seule et elle semble
fonctionner, mais c'est à partir du moment ou je la met à la suite
d'autres
macros, qu'elle m'ouvre une boite de dialogue ...


Le suspense est intenable... ;-)
Quelle boîte de dialogue ?

Daniel

Avatar
esteban
Ma macro fonctionne très bien à partir du moment ou je ne l'ajoute pas à une
autre ...


Esteban,

Ici http://cjoint.com/?cAmkoC0Yh3 un exemple qui fonctionne.
J'ai des pb de fonctionnement si :
- je change les noms de champs
- si un TCD du meme nom exixte deja dans la feuille
- si je cherche à le mettre dans un autre onglet





Avatar
esteban
Bonjour,

en fait, je cherche à placer mon tableau croisé dynamique dans un autre
onglet,
c'est pourquoi, ma macro ne fonctionne pas.

Si quelqu'un a la solution, ...

Merci par avance.


Esteban,

Ici http://cjoint.com/?cAmkoC0Yh3 un exemple qui fonctionne.
J'ai des pb de fonctionnement si :
- je change les noms de champs
- si un TCD du meme nom exixte deja dans la feuille
- si je cherche à le mettre dans un autre onglet





Avatar
Daniel
En mode manuel, si le tableau est sur une autre feuille, tu n'as psa le
choix de la cellule.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

en fait, je cherche à placer mon tableau croisé dynamique dans un autre
onglet,
c'est pourquoi, ma macro ne fonctionne pas.

Si quelqu'un a la solution, ...

Merci par avance.


Esteban,

Ici http://cjoint.com/?cAmkoC0Yh3 un exemple qui fonctionne.
J'ai des pb de fonctionnement si :
- je change les noms de champs
- si un TCD du meme nom exixte deja dans la feuille
- si je cherche à le mettre dans un autre onglet







Avatar
Garette
Esteban,

Je crois avoir trouvé.
en fait il s'agit de problemes d'adressages :
- Des données en format R1C1 pour les SourceData et TableDestination
- De la feuille dans laquelle la PivotTable est créée

Dans l'exemple joint, j'utilise un UserForm mais on peut peut etre
l'utiliser avec les InputBox.
Pour pallier le Pb R1C1 => Range(MaCellule)
Pour pallier le pb Feuille PivotTable => Mafeuille =
Range(MaCellule).Parent.Name
http://cjoint.com/?cAssnsPSIv

A+

"Daniel" a écrit dans le message de news:

En mode manuel, si le tableau est sur une autre feuille, tu n'as psa le
choix de la cellule.
Daniel
"esteban" a écrit dans le message de
news:
Bonjour,

en fait, je cherche à placer mon tableau croisé dynamique dans un autre
onglet,
c'est pourquoi, ma macro ne fonctionne pas.

Si quelqu'un a la solution, ...

Merci par avance.


Esteban,

Ici http://cjoint.com/?cAmkoC0Yh3 un exemple qui fonctionne.
J'ai des pb de fonctionnement si :
- je change les noms de champs
- si un TCD du meme nom exixte deja dans la feuille
- si je cherche à le mettre dans un autre onglet











1 2