Création graphique dans une macro

  • Initiateur de la discussion Initiateur de la discussion Nelly
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

N

Nelly

Guest
Bonjour,

Je veux faire une macro qui entre autre produirait un graphique. Voici mon problème, lors de la création automatique de la macro tout est ok mais dès qu'on lance une nouvelle fois la macro le nom du graphique change et la macor ne fonctionne plus.

Quelqu'un sait comment faire pour corriger ce bug ?

Merci !

Nelly
 
Bonjour Albert,

tout d'abord merci pour ta réponse et ton exemple.

Je ne comprend pas comment tu as fait pour que ton graphe n'ait pas de nom. Quand on fait "Insertion-graphique" automatiquement il attribue un nom au nouveau graphique "graphe1, graphe2, etc."

D'où mon problème, dès que je relance la macro, il ajoute un nouveau graphique et le nom est changé au lieu de modifier celui déjà existant et donc ma macro bug.


Nelly

Je comprend vite mais faut m'expliquer longtemps 😉
 
La macro ne contient plus de bug, merci !

Mais, ça ne fonctionne toujours pas 🙁
Si on appelle la macro plus d'une fois, elle refait un autre graphique qui ne
se dimensionne et ne se déplace pas (reste au-dessus des stats et trop petit pour tout afficher) et celui qui avait déjà été fait est toujours là mais non inclus dans l'impression.

Pourquoi, n'écrase-t-il pas l'ancien graphique pour remettre celui
à jour à la place ?

Nelly
 

Pièces jointes

BONJOUR

SUIS-je hors sujet je ne sais pas,
mais regarde le bloc d'instructions ci-dessous et remplace ton instruction "charts.add" par ce bloc

le principe :
s'il n'y a pas de graphique j'en crée un
s'il y en a deux c'est qu'il y a un problème je suppose qu'un autre graphique a été créé manuellement
sinon il existe déjà un graphique, je ne fais rien

dans le 1er et troisième cas, je passe à l'instruction suivant le If End if qui consiste à manipuler le premier (et unique) graphique de la feuille.

If ActiveSheet.ChartObjects.Count < 1 Then
Charts.Add
ElseIf ActiveSheet.ChartObjects.Count > 1 Then
MsgBox "prob plusieurs graph"
Exit Sub
Else: MsgBox "déjà un chart"
End If
End
ActiveSheet.ChartObjects(1).Select

bye
STéphane/Jon
 
Bonjour Stéphane,

merci de ta réponse.

J'ai modifié selon ta suggestion, et une partie du problème a été résolu.
Lorsqu'il y a déjà un graphe tout fonctionne. Par contre, s'il n'y a pas de graphe ça ne fonctionne pas.

En fait, si aucun graphe au lieu de créer le nouveau graphe dans la même feuille en tant qu'objet, il met le nouveau graphe dans une nouvelle feuille donc plus rien ne fonctionne par la suite. Du moins de ce que je comprend moi qui est débutante 🙂

Nelly
 

Pièces jointes

bonjour Nelly,
je ne comprends pas bien ton pb...
pourquoi veux-tu un nouveau graphe??? tu veux reproduire le même à l'infini???

il se trouve que si tu donnes 30 mn de pénalité à Picard Jf, le graphe se met à jour automatiquement, sans avoir à utiliser la macro...
 
Bonjour Albert,

merci beaucoup pour ton aide. En fait, je devais faire exactement ceci pour un cours:

"Dans la feuille Statistiques, réalisez une macro qui permette de trier les joueurs selon leur numéro par ordre décroissant (colonne A), de créer un graphique en secteurs qui illustre le nombre de minutes de punition par joueur (il doit être inséré en tant qu'objet dans la feuille) et d'imprimer la feuille (régler le tableau pour qu'il s'imprime sur une seule page et qu'il soit au centre, mettre nom dans l'en-tête et la date dans pied de page)."

Je suis peut-être trop perfectionniste, mais bon je voulais être certaine que lorqu'on utiliserait la macro cette dernière ferait exactement ce qui est demandée (et ce même si tout comme toi je trouve inutile de refaire d'autre graphique puisque le premier serait toujours mis à jour) et ce peu importe le nombre de fois que la macro aurait été exécutée, mais je trouvais encore plus inutile de faire une macro si cette dernière ne serait jamais utilisée quitte à produire des tonnes de graphes identiques. 🙂

Enfin, dans la version ci-jointe qui n'est pas parfaite mais qui sera ma version finale, j'ai trouvé comment faire pour que les multiples graphes se retrouvent exactement les uns par-dessus les autres.

Encore merci pour ton aide, j'espère avoir répondu à ta question. C'est vrai que ce n'était pas trop clair ce que je voulais faire au départ (faut dire que ce ne l'était pas vraiment pour moi non plus) toute mes excuses.

Nelly
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
377
  • Question Question
Microsoft 365 Bug sur une macro
Réponses
6
Affichages
382
  • Question Question
Microsoft 365 création Graphique
Réponses
6
Affichages
620
Réponses
5
Affichages
235
Retour