XL 2013 Mettre à jour un graphique dynamiquement à partir d'une zone de données à dimension variable

Olivier P

XLDnaute Nouveau
Bonjour, je souhaite mettre à jour un graphique dynamiquement à partir d'un tableau de données dont on ne connaît que l'origine en haut à gauche.
Le nombre de colonnes et de lignes est variable.
J'ai essayé en utilisant un tableau structuré mais sans succès.
Exemple : le jour 1, mes données sont :
Dates / date1 / date2
Part1 / 10 / 11
Part2 / 13 / 15
Part3 / 12 / 12 ---> le graphique doit donc afficher 3 séries de Parts avec 2 dates en abscisses
Le jour 2, mes données ont augmenté :
Dates / date1 / date2 / date3
Part1 / 10 / 11 / 10
Part2 / 13 / 15 / 14
Part3 / 12 / 12 / 13
Part4 / 20 / 19 / 19 ---> le graphique doit donc afficher 4 séries de Parts avec 3 dates en abscisses
Le jour 3, des données ont été supprimées :
Dates / date4
Part5 / 40 ---> le graphique doit donc afficher 1 série de Parts avec 1 date en abscisses.
Merci d'avance pour votre aide.
 
Solution
Bonjour Olivier P, djidji59430, Gégé-45550, le forum,

Un essai avec une macro (module de la feuille) qui efface les séries d'abord et qui colle ensuite une plage déterminée par une zone nommée dépendante des données présentes (voir le gestionnaire de noms).
Bien sûr, il faut auparavant accepter les macros pour ce classeur.

Bons tests !

AL 22

Olivier P

XLDnaute Nouveau
Bonjour djidji,
Ca marche bien quand les données s'agrandissent, mais pas quand elles diminuent.
On ne peut pas (ou je ne sais pas faire) réduire un tableau structuré dynamiquement.
Je donne ci-joint l'exemple de process que je cherche à reproduire avec le problème à l'étape 8.
 

Pièces jointes

  • tbl_gph_automatiques.xlsx
    36.8 KB · Affichages: 8

Gégé-45550

XLDnaute Accro
Bonjour, je souhaite mettre à jour un graphique dynamiquement à partir d'un tableau de données dont on ne connaît que l'origine en haut à gauche.
Le nombre de colonnes et de lignes est variable.
J'ai essayé en utilisant un tableau structuré mais sans succès.
Exemple : le jour 1, mes données sont :
Dates / date1 / date2
Part1 / 10 / 11
Part2 / 13 / 15
Part3 / 12 / 12 ---> le graphique doit donc afficher 3 séries de Parts avec 2 dates en abscisses
Le jour 2, mes données ont augmenté :
Dates / date1 / date2 / date3
Part1 / 10 / 11 / 10
Part2 / 13 / 15 / 14
Part3 / 12 / 12 / 13
Part4 / 20 / 19 / 19 ---> le graphique doit donc afficher 4 séries de Parts avec 3 dates en abscisses
Le jour 3, des données ont été supprimées :
Dates / date4
Part5 / 40 ---> le graphique doit donc afficher 1 série de Parts avec 1 date en abscisses.
Merci d'avance pour votre aide.
Bonsoir,
Voir les formules matricielles en feuil2, le gestionnaire de noms et la définition des données dans le graphique de la PJ.
Cordialement,
 

Pièces jointes

  • tbl_gph_automatiques_GG3.xlsx
    24.6 KB · Affichages: 9
Dernière édition:

AL 22

XLDnaute Occasionnel
Bonjour Olivier P, djidji59430, Gégé-45550, le forum,

Un essai avec une macro (module de la feuille) qui efface les séries d'abord et qui colle ensuite une plage déterminée par une zone nommée dépendante des données présentes (voir le gestionnaire de noms).
Bien sûr, il faut auparavant accepter les macros pour ce classeur.

Bons tests !

AL 22
 

Pièces jointes

  • Olivier P - Mettre à jour un graphique dynamiquement à partir d'une zone de données à dimensi...xlsm
    22.5 KB · Affichages: 15

Olivier P

XLDnaute Nouveau
Bonjour Olivier P, djidji59430, Gégé-45550, le forum,

Un essai avec une macro (module de la feuille) qui efface les séries d'abord et qui colle ensuite une plage déterminée par une zone nommée dépendante des données présentes (voir le gestionnaire de noms).
Bien sûr, il faut auparavant accepter les macros pour ce classeur.

Bons tests !

AL 22
Bonjour à tous,
et merci vos contributions.
Gégé, je n'ai pas su utiliser ton fichier, mes tests ne changent jamais le graphique. Toutefois je crois comprendre que le nombre de colonnes reste inchangé si l'on diminue leur nombre dans les données brutes, ce qui ne va pas répondre complètement pour un graphique totalement dynamique.
AL22, j'avais essayé précédemment avec une solution macro mais n'avais pas abouti, étant peu familier de VBA. Cette solution me convient très bien, mon fichier cible comportant déjà des macros.

Encore merci à tous.
 

Gégé-45550

XLDnaute Accro
Bonjour à tous,
et merci vos contributions.
Gégé, je n'ai pas su utiliser ton fichier, mes tests ne changent jamais le graphique. Toutefois je crois comprendre que le nombre de colonnes reste inchangé si l'on diminue leur nombre dans les données brutes, ce qui ne va pas répondre complètement pour un graphique totalement dynamique.
Bonsoir,
avez-vous testé le fichier que j'ai joint au post #4 (tbl_gph_automatiques_gg3-xlsx) sans rien changer d'autre que le tableau de données en 'Feuil1!A4:C10', en le remplaçant une première fois par vos données (Jour 2) situées en Feuil1H22:K26 et ensuite une seconde fois par celles situées en Feuil1!H29:K33 et à chaque fois en observant le graphe ?
Bonne soirée,
 

Gégé-45550

XLDnaute Accro
Bonjour Gégé,
En fait, le fichier s'ouvre avec une erreur Excel : "Pb au niveau d'une ou plusieurs réf de formules...".
Ce qui fait probablement qu'à la suite, les changements effectués dans la zone de référence sont inopérants.
Bonjour et merci pour votre réponse,
Bizarre, étant sous 365, j'ai pris bien soin de n'utiliser que des fonctions compatibles avec 2013.
Mais peut-être sont-ce les références du gestionnaire de nom (par exemple le nom Dates qui fait référence à "=Feuil2!$B$2#" ?
Que se passe-t-il sous 2013 si vous tapez "=Feuil2!$B$2#" (sans les guillemets mais surtout avec le dièse) dans une cellule vide avec "de la place" à sa droite, par exemple dans la cellule G1 de la Feuil1 du fichier que je vous ai envoyé ?
Cordialement,
 

Olivier P

XLDnaute Nouveau
Bonjour Gégé,
Excel affiche une erreur si l'on tape cette formule, il ne la comprend pas.
Je pense en effet que nos versions sont incompatibles au niveau de certaines fonctions car dans le gestionnaire de noms, j'ai par exemple pour Dates :
=_xlfn.ANCHORARRAY(Feuil2!$B$2)
Cordialement

Précision : ma version d'Excel est Office famille et étudiant 2016.
 

Gégé-45550

XLDnaute Accro
Bonjour Gégé,
Excel affiche une erreur si l'on tape cette formule, il ne la comprend pas.
Je pense en effet que nos versions sont incompatibles au niveau de certaines fonctions car dans le gestionnaire de noms, j'ai par exemple pour Dates :
=_xlfn.ANCHORARRAY(Feuil2!$B$2)
re bonjour,
C'est exactement ça, excusez-moi, je n'ai pas pensé que cette fonction n'était pas disponible dans votre version. Il existe des moyens de contournement mais comme vous avez déjà reçu une solution satisfaisante, je ne pense pas que ça vous intéressera de les voir. Si je me trompe, dites le.
Cordialement,
 

Olivier P

XLDnaute Nouveau
re bonjour,
C'est exactement ça, excusez-moi, je n'ai pas pensé que cette fonction n'était pas disponible dans votre version. Il existe des moyens de contournement mais comme vous avez déjà reçu une solution satisfaisante, je ne pense pas que ça vous intéressera de les voir. Si je me trompe, dites le.
Cordialement,
Merci Gégé, effectivement, la solution de AL22 me convient bien.
Merci encore.
 

Discussions similaires

Statistiques des forums

Discussions
313 322
Messages
2 097 141
Membres
106 851
dernier inscrit
Rv34