Macro pour pivot table (tableau dynamique)

piloupilou

XLDnaute Nouveau
:(

J'aimerais creer la macro suivante (je fais appel a vous car moi je surchauffe):

avant de lancer la macro un tableau aura etait selectionner avec la methode suivante: Cellule active en A1,CTRL+SHIFT+FLECHEBAS puis CTRL+SHIFT+FLECHEDROIT.

En fait le nombre de colonnes et de lignes sont inconnus. mais l intitule des 3 premieres colonnes sont connus. et c est par rapport a ces 3 intitules que je veux creer la base de mon pivot table. ensuite si l utilisateur veut rentrer d autre intitule(variable), je lui laisse le choix.

ensuite je vais chercher pivot table dans le menu tool... il reconnait automatiquement la zone preselectionnee.

Le probleme quand j essaye d automatiser tout ca avec ma macro, les champs qui determine la plage du tableau sont fixes(donnees du premier tableau traite):

ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
' ''Liste Piece'!R1C1: R114C4').CreatePivotTable TableDestination:=Range('J2'), _

J ai essaye de passer par donner un nom au tableau qui m interresse mais je me suis heurte au meme probleme:

Range('A1').Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:='List', RefersToR1C1:= _
'='Liste Piece'!R1C1:R114C4'

En fait j aimerais rentrer la valeur du tableau dans une variable.

Merci d avance

Desole pour le manque d accent, QWERTY oblige!
 

pierrejean

XLDnaute Barbatruc
bonjour piloupilou

je ne suis pas doué en graphique mais je tenterais quelque chose comme

Dim x As Integer
Dim y As Integer
Dim m As Integer
Dim n As Integer
Dim tableau As String

'definir x,y m,n

tableau = '='Liste Piece'!R' & x & 'C' & y & ':R' & m & 'C' & n

ActiveWorkbook.Names.Add Name:='List', RefersToR1C1:=tableau
 

Bebere

XLDnaute Barbatruc
bonsoir Pilou,PierreJean
insertion,nom,définir
dans la fenêtre intitulée 'nom dans le classeur'
tu entres un nom exemple MaBase

dans la fenêtre du bas intitulée 'fait référence à'
tu entres la formule suivante
=DECALER($A$1;;;NBVAL($A:$A);NBVAL($A$1:$C$1))
$A$1 début
NBVAL($A:$A) nombre de lignes
NBVAL($A$1:$C$1) nombre de colonnes
entêtes de colonne comprises
à adapter à ton cas
à bientôt
 

Dan

XLDnaute Barbatruc
Bonsoir,

Pour définir ton tableau place cette instruction au début de ta macro :

Code:
Set Plage = sheets('nom de la feuille contenant le tableau').range('A1').currentregion

Clique sur ce lien dans lequel j'ai laissé un code qui devrait t'aider --> Lien supprimé.

Sinon place ton fichier ou ta macro que je la voie.

Si pb n'hésite pas

;)
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 847
Membres
103 972
dernier inscrit
steeter