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

2 réponses

1 2
Avatar
esteban
Merci énormément Garette pour ton aide et tes explications,
toutefois, je ne suis pas un expert dans l'utilisation des userforms alors
je souhaiterai faire sans ces derniers de manière à tout comprendre.

Encore merci.


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
















Avatar
Garette
Bonsoir,

Voici un code qui fonctionne avec les InputBox...

Sub Test2()
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)
Mafeuille = CStr(MaCellule.Parent.Name)

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Range(MaPlage.Address)).CreatePivotTable
TableDestination:=Sheets(Mafeuille).Range(MaCellule.Address), _
TableName:="Test1", DefaultVersion:=xlPivotTableVersion10

Sheets(Mafeuille).PivotTables("Tableau croisé dynamique1").AddFields
RowFields:= "C", ColumnFields:="T"

Sheets(Mafeuille).PivotTables("Tableau croisé dynamique1").PivotFields("M").
_
Orientation = xlDataField
End Sub

"esteban" a écrit dans le message de
news:
Merci énormément Garette pour ton aide et tes explications,
toutefois, je ne suis pas un expert dans l'utilisation des userforms alors
je souhaiterai faire sans ces derniers de manière à tout comprendre.

Encore merci.


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