Création graphique dans une macro

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
 
N

Nelly

Guest
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 ;)
 
N

Nelly

Guest
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

  • MacroGraphe.zip
    12.8 KB · Affichages: 33
S

STéphane

Guest
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
 
N

Nelly

Guest
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

  • MacroGraphe2.zip
    15.9 KB · Affichages: 34
A

albert

Guest
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...
 
N

Nelly

Guest
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

  • MacroGraphe3.zip
    16.3 KB · Affichages: 50

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet