Affichage d'un onglet + mis à jour échelle graph par vba

Vilain

XLDnaute Accro
Bonjour à tous,

Dans mon fichier ci-joint, je n'arrive pas à faire 2 choses :

-J'ai 2 onglets quasi identique (Détails et détails sans Salary Structure). Je souhaite masquer l'onglet dont le nom apparait en F21 et afficher l'onglet dont le nom apparait en F20.
-Je souhaite mettre mes échelles à jour en fonction des données comprises sur l'onglet infos entre les cellules A18 et B36.

Je sais que tout ceci est assez simple pour un expert VBA mais de mon côté je galère toujours quand à la manipulation de graphiques. N'hésitez pas à me demander si mes explications sont insuffisantes ou pas suffisamment claires.

Merci beaucoup à l'âme charitable qui va m'enlever cette épine du pied.

A plus

Ps : pour ceux qui le peuvent, privilégier la version xlsm
 

Pièces jointes

  • fichier pour macro.xlsm
    91 KB · Affichages: 25
  • fichier pour macro.xls
    231 KB · Affichages: 37

ralph45

XLDnaute Impliqué
Re : Affichage d'un onglet + mis à jour échelle graph par vba

Bonjour Gillus69,

Pour masquer de façon continue l'onglet apparaissant en F21, et à insérer dans un module en VBA (Alt+F11)
Sub auto_open ()
Sheets("Détails sans Salary Structure").Visible = False
End Sub

NB : Pour l'afficher de nouveau, changer le .Visible = False en .Visible = True, enregistrer, fermer et ouvrir de nouveau le fichier.

A+
 
Dernière édition:

Vilain

XLDnaute Accro
Re : Affichage d'un onglet + mis à jour échelle graph par vba

Salut Ralph,

Merci pour ton coup de main.
Ceci dit, cela ne me convient pas, car ce ne sera pas toujours le même onglet qui sera affiché.
Il faut donc que ce soit dynamique en fonction du nom inscrit dans la cellule.
C'est plus clair ?

Encore merci.

A plus
 

Modeste

XLDnaute Barbatruc
Re : Affichage d'un onglet + mis à jour échelle graph par vba

Salut Gillus69 :), ralph45 ... et puis tous les autres,

Au départ de la proposition de ralph45 et en adaptant un peu, que donnerait:
Code:
Sheets(Sheets("infos").Range("F20").Value).Visible = True
Sheets(Sheets("infos").Range("F21").Value).Visible = False
... Le tout serait de voir ce qui déclencherait ta macro!?
 

Vilain

XLDnaute Accro
Re : Affichage d'un onglet + mis à jour échelle graph par vba

Re,

Merci pour vos solutions.
Je lance la macro manuellement à certains moments (lorsque je décide d'analyser un effectif différent).
Grâce à vos solutions, j'ai réussi à faire ce que je voulais dans mon fichier.

Il ne me reste plus que ce problème d'échelles automatiques.

A plus
 

Modeste

XLDnaute Barbatruc
Re : Affichage d'un onglet + mis à jour échelle graph par vba

Re-bonjour,

En m'inspirant cette fois du code généré par l'enregistreur de macro (ralph45 n'était pas passé par ici, cette fois ;)), ceci définit le minimum pour le graphique en haut à gauche de la feuille "Détails":
Code:
Sheets("Détails").ChartObjects("Graphique 6").Chart.Axes(xlValue).MinimumScale = Sheets("infos").[B19]

Ceci ne vaut qu'à condition que j'aie bien compris et que les graphiques soient toujours les mêmes (en clair: que leur nom ne change pas!)
... Tu devrais pouvoir adapter pour les autres graphes ...
 

Statistiques des forums

Discussions
312 519
Messages
2 089 266
Membres
104 083
dernier inscrit
hecko