Plage de données variables dans un TCD constitué par VBA
3 réponses
Rosalie Mignon
Bonjour à tous
Je constitue un tableau croisé par vba en enregistrement automatique.
Comment faire pour que la plage de données du code enregistré corresponde à
chaque fois à la totalité du tableau
quel que soit le nombre de lignes.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
AV
Comment faire pour que la plage de données du code enregistré corresponde à chaque fois à la totalité du tableau quel que soit le nombre de lignes.
Nommer la plage du TCD de façon dynamique Exemple avec un tableau en A1:Kx (A1:K1 contient les étiquettes de colonnes) Insertion > nom > définir > nom dans le classeur : "tablo" > fait réf à : ÞCALER($A$1;;;NBVAL($A:$A);NBVAL($A$1:$K$1))
Tu utilises ensuite le nom "tablo" pour définir la plage AV
Comment faire pour que la plage de données du code enregistré corresponde à
chaque fois à la totalité du tableau
quel que soit le nombre de lignes.
Nommer la plage du TCD de façon dynamique
Exemple avec un tableau en A1:Kx
(A1:K1 contient les étiquettes de colonnes)
Insertion > nom > définir > nom dans le classeur : "tablo" > fait réf à :
ÞCALER($A$1;;;NBVAL($A:$A);NBVAL($A$1:$K$1))
Tu utilises ensuite le nom "tablo" pour définir la plage
AV
Comment faire pour que la plage de données du code enregistré corresponde à chaque fois à la totalité du tableau quel que soit le nombre de lignes.
Nommer la plage du TCD de façon dynamique Exemple avec un tableau en A1:Kx (A1:K1 contient les étiquettes de colonnes) Insertion > nom > définir > nom dans le classeur : "tablo" > fait réf à : ÞCALER($A$1;;;NBVAL($A:$A);NBVAL($A$1:$K$1))
Tu utilises ensuite le nom "tablo" pour définir la plage AV
poy-poy
Bonjour Rosalie,
Il faut que tu définisse ta plage source sous vba :
Tout depend si tu cree le pivot par ta macro ou non. Si oui et en supposant que ta base de donnée va de A1 à ? col :
Donc la tu cree un pivot avec comme source ta base de donnée de A1 à la cellule la plus a droite de la ligne1 et la cellule la plus basse de cette colonne. Attention, si tu as des champs vides tu risque de ne pas récupérer la dernière colonne ou ligne. Il faudra alors ou remplir ces champs (de 0 par exemple) ou essayé de passer par l'autre sens [IR1].end(xlleft) (bon si tu as d'autres données à coté ca rate aussi masi on la on fera autre chose :-).
Si tu veux juste lui changer sa source, même commentaire et la ligne vba est:
Je constitue un tableau croisé par vba en enregistrement automatique. Comment faire pour que la plage de données du code enregistré corresponde à chaque fois à la totalité du tableau quel que soit le nombre de lignes.
Merci d'avance pour vos réponses
Bonjour Rosalie,
Il faut que tu définisse ta plage source sous vba :
Tout depend si tu cree le pivot par ta macro ou non. Si oui et en supposant
que ta base de donnée va de A1 à ? col :
Donc la tu cree un pivot avec comme source ta base de donnée de A1 à la
cellule la plus a droite de la ligne1 et la cellule la plus basse de cette
colonne. Attention, si tu as des champs vides tu risque de ne pas récupérer
la dernière colonne ou ligne. Il faudra alors ou remplir ces champs (de 0 par
exemple) ou essayé de passer par l'autre sens [IR1].end(xlleft) (bon si tu as
d'autres données à coté ca rate aussi masi on la on fera autre chose :-).
Si tu veux juste lui changer sa source, même commentaire et la ligne vba est:
Je constitue un tableau croisé par vba en enregistrement automatique.
Comment faire pour que la plage de données du code enregistré corresponde à
chaque fois à la totalité du tableau
quel que soit le nombre de lignes.
Donc la tu cree un pivot avec comme source ta base de donnée de A1 à la cellule la plus a droite de la ligne1 et la cellule la plus basse de cette colonne. Attention, si tu as des champs vides tu risque de ne pas récupérer la dernière colonne ou ligne. Il faudra alors ou remplir ces champs (de 0 par exemple) ou essayé de passer par l'autre sens [IR1].end(xlleft) (bon si tu as d'autres données à coté ca rate aussi masi on la on fera autre chose :-).
Si tu veux juste lui changer sa source, même commentaire et la ligne vba est:
Je constitue un tableau croisé par vba en enregistrement automatique. Comment faire pour que la plage de données du code enregistré corresponde à chaque fois à la totalité du tableau quel que soit le nombre de lignes.
Merci d'avance pour vos réponses
Rosalie Mignon
Problème résolu grace à vos réponses
Un grand merci
"Rosalie Mignon" a écrit dans le message de news:%
Bonjour à tous
Je constitue un tableau croisé par vba en enregistrement automatique. Comment faire pour que la plage de données du code enregistré corresponde à
chaque fois à la totalité du tableau quel que soit le nombre de lignes.
Merci d'avance pour vos réponses
Problème résolu grace à vos réponses
Un grand merci
"Rosalie Mignon" <personne@microsoft.com> a écrit dans le message de
news:%23MWFeBw0EHA.3900@TK2MSFTNGP10.phx.gbl...
Bonjour à tous
Je constitue un tableau croisé par vba en enregistrement automatique.
Comment faire pour que la plage de données du code enregistré corresponde
à
chaque fois à la totalité du tableau
quel que soit le nombre de lignes.