Plage de donnée pour tableau croisé dynamique
Résolu
antony75019
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
ergor Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
ergor Messages postés 149 Date d'inscription Statut Membre Dernière intervention -
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 =)!
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:
- Modifier plage de données tableau croisé dynamique excel 2016
- Tableau croisé dynamique - Guide
- Modifier liste déroulante excel - Guide
- Tableau word - Guide
- Modifier dns - Guide
- Trier un tableau excel - Guide
3 réponses
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.
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.
ç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!
ça fait 2jours que je bloque dessus! merci infiniment!
vous venez d'illuminer ma journée!
Encore une fois, merci!
bonne journée!