• Initiateur de la discussion Initiateur de la discussion SPEA
  • 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 !

SPEA

XLDnaute Occasionnel
Bonjour,

Un fichier comporte beaucoup d'onglets, 12 onglets pour les mois de l'année + 5 avec des graph + 1 Bilan, etc...

Actuellement je masque les onglets des mois en n'affichant que le mois en cours mais chaque fois que j'ai besoin d'ouvrir un mois précédent pour faire une modif je suis obligé de dé-masquer le mois puis le masquer à nouveau.

La question est quelle est la manière la plus simple pour gerer tous ces onglets de facon à pouvoir ouvrir la feuille souhaitée facilement et rapidement.

Merci
 
Re : Gestion des onglets

Bonsoir,

J'ai appliqué le modèle à mon classeur, j'ai juste un petit soucis avec les feuilles de graphique, j'ai une erreur en remontant sur la feuille d'accueil car leur nom ne commence pas par "feuil".

De plus je ne peux mettre un bouton sur les feuilles de graph pour remonter à l'accueil.
 
Re : Gestion des onglets

bonjour,
désolé, je ne vois pas où est le problème ?
peu importe le nom de la feuille, c'est toi qui le définis
exemple
Sheets("janvier").Visible = xlSheetVisible
Sheets("janvier").Select

et pourquoi ne peux-tu pas mettre de bouton dans la feuille de graphe ?
si c'est pour un problème d'impression tu peux faire en sorte qu'il ne s'imprime pas (format de controle / propriété / decocher impression)

à+
 
Re : Gestion des onglets

ccpapy à dit:
bonjour,
désolé, je ne vois pas où est le problème ?
peu importe le nom de la feuille, c'est toi qui le définis
exemple
Sheets("janvier").Visible = xlSheetVisible
Sheets("janvier").Select

et pourquoi ne peux-tu pas mettre de bouton dans la feuille de graphe ?
si c'est pour un problème d'impression tu peux faire en sorte qu'il ne s'imprime pas (format de controle / propriété / decocher impression)

à+
Bonjour ccpapy,

le problème ne vient pas de la selection de la feuille à afficher mais pour le retour au menu, j'obtiens logiquement une erreur.

Dim Feuil As Worksheet
For Each Feuil In Sheets
If Feuil.Name <> "Menu" Then Feuil.Visible = xlSheetHidden
Next Feuil
[/COLOR]
Pour les graph le nom de la feuille est Graph1, Graph2, etc

Ensuite pour les graphiques je ne peux mettre un bouton sur les feuilles de graphiques, tout est grisé en mode création.

merci
 
Re : Gestion des onglets

Bonjour Spea

Essaye comme ci dessous, à placer dans "ThisWorkBook" :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Feuil 
For Each Feuil In Sheets
If Feuil.Name <> "Menu" Then Feuil.Visible = xlSheetHidden
Next Feuil
End Sub

j'ai enlevé le type de donnée "WorkSheet", et je le laisse en variant. Car tes feuilles graphiques ne sont pas des feuilles de calcul (worksheets), mais tout de même des feuilles(sheets). D'où l'imcompatibilité de type...

bon dimanche.'
 
Re : Gestion des onglets

Re

j'ai modifié le code pour laisser afficher les graphs

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Feuil
For Each Feuil In Sheets
If Feuil.Name = "Menu" Or Feuil.Name Like "Graph*" Then
    Feuil.Visible = xlSheetVisible
Else
    Feuil.Visible = xlSheetHidden
End If
Next Feuil
End Sub

par contre tu peux créer une forme automatique, ou mettre une image à laquelle tu affectes une macro.

@+
 
Re : Gestion des onglets

OK, merci Pierrot je n'avais pas pensé à affecter une macro à une forme automatique.

derniere question, que dois-je ajouter au code pour que seul l'onlet de la feuille selectionnée soit visible. Par ex quand je selectionne janvier, les onglets de janvier et menu sont visibles, je ne voudrais voir que janvier.

Merci.
 
Re : Gestion des onglets

Re

peut être comme ceci :

Code:
Private Sub Workbook_SheetActivate(ByVal sh As Object)
Dim feuil
For Each feuil In Sheets
If Not feuil Is sh Then
If feuil.Name Like "Graph*" Then
    feuil.Visible = xlSheetVisible
Else
    feuil.Visible = xlSheetHidden
End If
End If
Next feuil
End Sub

@+
 
Re : Gestion des onglets

Merci pour l'explication,

j'ai trouvé mon erreur, je n'avais pas mis le code dans workbook_sheetactivate...

Pour les worksheets tout marche bien à l'exeption des onglets des feuilles Graph_ qui restent visibles tout le temps.
 
- 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

Discussions similaires

Réponses
4
Affichages
674
Retour