Plage de donnée pour tableau croisé dynamique

Résolu/Fermé
antony75019 Messages postés 2 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 11 juin 2013 - 11 juin 2013 à 14:13
ergor Messages postés 149 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 7 mai 2014 - 11 juin 2013 à 14:54
Bonjour,

Je souhaite créer une macro actualisant un tableau croisé dynamique (TCD) à partir de données se trouvant sur une autre feuille (mais du même classeur). Comme il s'agit d'un inventaire, le nombre de ligne est amené à varier...

La difficulté est alors que le nombre de ligne n'est pas connu à l'avance...

J'ai donc envisagé de rédiger une procédure pour récupérer les coordonnées de la dernière cellule (celle en bas à droite des données) et de définir la plage de donnée à utiliser pour le TCD à partir des coordonées:

voilà ce que j'ai fait:

Sheets("inventaire").Select

i = Range("vide").Row - 2
j = Range("vide").Column + 11

ActiveWorkbook.Names.Add Name:="zone_de_traçage", RefersToR1C1:= _
"=inventaire!R3C2:R37C13"

End Sub

Ce que je voudrais, c'est remplacer la plage de donnée sélectionnée (inventaire!R3C2:R37C13) par une plage de donnée qui dépend de i et j (inventaire!R3C2:RiCj).
Vous vous en doutez, i=37 et j=13 actuellement dans mon tableau, mais si je mets à jour l'inventaire (donc ajoute de lignes...) le tableau croisé obtenu ne sera pas bon..

Je ne sais pas si c'est possible, mais utiliser une structure similaire à la suivante par exemple:
ActiveSheet.Range(Cells(3, 2), Cells(i, j)).Select

Pouvez-vous, svp, m'aider?
merci de votre aide =)!

A voir également:

3 réponses

ergor Messages postés 149 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 7 mai 2014 12
11 juin 2013 à 14:37
Bonjour,

Si tu possèdes un Excel récent (2007 et +) pas besoin de macro :

Tu mets ta base en format tableau :

Dans l'onglet principal, tu sélectionnes ta base, puis mettre au format tableau, tu choisis le format qui te plait.

Ensuite tu te positionnes dans ton tableau, un nouvelle onglet apparaît "tableau".
Tu le renommes comme tu l'entends.

Ensuite quand tu créés ton TCD, tu ne sélectionnes pas une plage de donnée mais tu écris le nom de ton tableau.


Comme les tableaux sont flexibles, la plage de données du tableau se met à jour automatiquement à chaque ajout de ligne (même en copier/coller et autre manipulations).


J'espère que ça te suffira.
1
antony75019 Messages postés 2 Date d'inscription mardi 11 juin 2013 Statut Membre Dernière intervention 11 juin 2013
11 juin 2013 à 14:49
ça marche!!! milles merci!!!

ça fait 2jours que je bloque dessus! merci infiniment!

vous venez d'illuminer ma journée!
Encore une fois, merci!

bonne journée!
0
ergor Messages postés 149 Date d'inscription mercredi 23 janvier 2013 Statut Membre Dernière intervention 7 mai 2014 12
11 juin 2013 à 14:54
Je t'en prie, c'est une focntion d'Excel que tout le monde n'utilise pas alors qu'elle présente de gros avantages (plus facile pour écrire des formules avec le nom des colonnes du tableau et pas le nom des colonnes Excel, et bien d'autres ...)




Si la réponse te convient passe le sujet en résolu ;)
0