enregistrement macro Excel 2007
Bonjour,
Je rencontre un problème lorsque je veux enregistrer automatiquement une suite d’action dans une macro à l’aide de l’enregistreur de macro dans Excel 2007.
J’ai une feuille de calcul dans laquelle est inclus un graphique (nuage de points obtenus à l’aide de deux séries de valeurs).
Je veux enregistrer une macro automatiquement pour modifier l’épaisseur du tracé de la courbe, sa couleur, les axes, … J’active l’enregistreur de macro et effectue les opérations sur le graphique. Avec Excel 2007 la macro récupérée dans Visual Basic Application ne comporte qu’une ligne indiquant que le graphique a été sélectionné :
Code:
ActiveSheet.ChartObjects("Graphique 1").Activate
Tout le code des autres opérations n’apparaît pas, alors qu’avec Excel 97 ou 2003, on avait toutes les lignes de code détaillées. Par ailleurs l’enregistreur de macro fonctionne très bien pour toutes les opérations faîtes en dehors du graphique.
Y a-t-il des options ou des précautions à prendre pour que cela fonctionne avec Excel 2007 ?
(J’ai fait des essais en activant ou déactivant la sécurité des macros. J’ai chargé les compléments Utilitaire d’analyse et Utilitaire d’analyse-VBA)
Cette fonctionnalité a-t-elle été supprimée ?
Si quelqu’un a déjà rencontré ce problème et l’a résolu, merci d’avance pour toute aide.
aladot.
Enregistrement macro n'affiche rien dans Excel 2007
Bonjour,
Je crois que j'ai trouvé comment résoudre ce problème. Il y a en fait deux problèmes :
- D'abord, effectivement l'enregistreur de macros d'Excel 2007 ne remplit plus son rôle puisqu'il n'enregistre à peu près aucune des actions que l'on fait sur un graphe. Merci Microsoft.
Le seul moyen que j'ai trouvé pour enregistrer le code correctement est la solution de lannoyge, c'est-à-dire utiliser Excel 2003... Si vous avez une autre solution surtout n'hésitez pas.
- Ensuite, le code enregistré avec Excel 2003 peut être utilisé sous Excel 2007, mais on dirait que je ne suis pas le seul à avoir constaté qu'il n'accomplissait pas des actions sur les graphes qu'on lui demandait, par exemple :
Code:
ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.NumberFormat = "0.000000000E+00"
Ici le format de nombre de l'équation de la courbe de tendance de mon graphe qui devait changer comme indiqué ne changeait absolument pas.
La solution est en fait l'actualisation de l'image à l'écran avant de donner l'instruction (ma macro traçant environ 20 graphes, je l'avais désactivée au départ) :
Code:
1 2 3
| Application.ScreenUpdating = True
ActiveChart.SeriesCollection(1).Trendlines(1).DataLabel.NumberFormat = "0.000000000E+00"
Application.ScreenUpdating = False |
J'ai trouvé ça par hasard, vu que cette actualisation n'était pas nécessaire dans Excel 2003.
Du coup le code obtenu avec l'enregistreur de macros de Excel 2003 peut être utilisé dans Excel 2007 si on actualise l'affichage, ce qui fait bien ramer la macro.
Simple, n'est-ce pas ?
@+ !