Macro pour figer dimensions et emplacement des graphiques

Bonjour à toutes et à tous,

comme beaucoup j'ai consulté les nombreuses astuces et informations présentes sur ce forum depuis que j'utilise excel donc merci déjà à tous ceux qui contribuent à ce forum et sûrement aux autres également.

Cette fois-ci je fais directement appel à la communauté car je n'arrive pas à trouver la solution de mon problème sur ce forum ou d'autres.

Peut-être parce que je n'ai pas pris la bonne direction pour y arriver...

Explications :

Mon objectif :

- Figer les dimensions des graphiques ainsi que leur emplacement afin d'éviter les "décalages" lors de l'impression ou de la création de pdf. en effet, ça fait plus pro quand les titres, axes ou autres ne se décalent pas lorsqu'on fait défiler les pages d'un rapport ou autre.

Mon fichier excel comporte plusieurs onglets avec des tableaux de valeurs que l'on actualise après chaque campagne de mesures (analyse des eaux souterraines d'un site). les graphiques sont créés de façon à ce que l'axe des abcisses (= date) contient la totalité des dates (passées et à venir) afin de figer celui-ci.

Macro utilisé :

Sub MEP_Graph()
'
' MEP_Graph Macro
' positionner et dimensionner les graphiques
'

'
 With Sheet6.Shapes("Chart 1")
 Set Emplacement = Range("B3:T24")
        .Left = Emplacement.Left
        .Top = Emplacement.Top
        .Height = Emplacement.Height
        .Width = Emplacement.Width
 End With

 With Sheet6.Shapes("Chart 2")
 Set Emplacement = Range("B27:T48")
        .Left = Emplacement.Left
        .Top = Emplacement.Top
        .Height = Emplacement.Height
        .Width = Emplacement.Width
 End With

 ... réalisé pour chaque tableau de chaque onglet...

  With Sheet11.Shapes("Chart 9")
 Set Emplacement = Range("CH3:CZ24")
        .Left = Emplacement.Left
        .Top = Emplacement.Top
        .Height = Emplacement.Height
        .Width = Emplacement.Width
 End With

 End Sub

Mon soucis :

Sur le principe, cette macro convient à ce que je veux faire, lorsque je la lance tous mes graphiquse s'alignent (c'est beau !!!)

le hic ... c'est que dès que je change d'onglet les graphiques se redécalent ... et je dois relancer la macro...

Question :

Existe-t il une manipulation pour figer définitivement mes graphiques même si je change d'onglet ?

ou deuxième solution un moyen de lancer la macro automatiquement dès que je change d'onglet afin que mes graphiques restent alignés, mais dans ce cas, est-ce que cela fonctionne lors de l'impression ??

Voilà désolé pour le pavé mais n'hésitez pas à poser des questions si mes questions ne sont pas claires !

Merci d'avance!

Julien

Bonjour Juju8885, le forum,

ou deuxième solution un moyen de lancer la macro automatiquement dès que je change d'onglet

En plaçant le code dédié à ta feuille dans l'évènement "WorkSheet Activate" .

A chaque fois que tu actives l'onglet, le code s'exécute.

Cordialement,

capture

Merci pour ta réponse xorsankukai!

Je teste ça dès que je peux dans la journée et je te tiens au courant!

Bonne journée !

Julien

Bonjour xorsankukai,

Je suis désolé mais je suis vraiment nul en macro, comment puis-je accéder ou créer l'évènement "Worksheet Activate" ?

Est-ce qu'il me suffit de recopier "Private Sub worksheet_Activate()" au début de ma macro ou il faut procéder autrement ?

Merci,

Julien

Bonsoir juju8885,

Tu fais alt + F11, tu double-clic sur la feuille concernée, dans l'onglet général tu sélectionnes WorkSheet, dans l'onglet déclaration, tu sélectionnes Activate et tu colles entre les 2 lignes le code qui correspond à ta feuille.

J'espère que cela t'aidera, bon courage.

Cordialement,

3 2 1

Bonjour,

super ça marche nickel !!!!

Merci beaucoup pour ton aide !

Bonnes fêtes de fin d'année !

Julien

Rechercher des sujets similaires à "macro figer dimensions emplacement graphiques"