Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Afficher Onglet par VBA

halecs93

XLDnaute Impliqué
Bonjour,

J'ai un classeur (travaillé avec l'aide des membres du forum) dont feuilles sont masquées (de janvier à décembre)

J'ai une macro (affichemenu) associée au bouton "menu" Il ouvre un formulaire Lorsque je clique sur un des boutons du formulaire, je souhaiterais afficher la feuille correspondante

(le fichier est zippé, car un peu trop lourd)

Help...et surtout merci
 

Pièces jointes

  • TEST - HEURES 2023-2024.zip
    299.1 KB · Affichages: 4

Lolote83

XLDnaute Barbatruc
Bonjour,
Dans ton code remplace select par visible
VB:
Private Sub CommandButton1_Click()
    ' Janvier
    'Feuil38.Select (a supprimer)
    Feuil38.Visible = True
End Sub
Si j'ai bien compris la demande
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Re bonjour,
Ici, tu n'affiche que la feuille40 comme indiquée.
Mai ssi les feuilles 38,39,42 sont déjà affichées, elles resteront affichées.
Sinon, il faut faire un eboucle qui n'affiche que la feuille selectionnee
Je regarde
@+ Lolote83
 

Lolote83

XLDnaute Barbatruc
Re bonjour
Voici ton fichier en retour.
J'ai renommé tous les boutons de ton formulaire pour plus de clarté
Quand clic sur un mois, seul celui-ci s'affiche, les autres affichés précédemment seront invisibles
@+ Lolote83
 

Pièces jointes

  • Copie de ALECS93 - AfficherOnglet.xlsm
    332 KB · Affichages: 4

halecs93

XLDnaute Impliqué
Re bonjour
Voici ton fichier en retour.
J'ai renommé tous les boutons de ton formulaire pour plus de clarté
Quand clic sur un mois, seul celui-ci s'affiche, les autres affichés précédemment seront invisibles
@+ Lolote83
Déjà, un grand merci..... ce qui est étrange, c'est que cela me postionne sytématiquement sur la feuille "RECAPITULATIF".... du coup j'ai modifié la procédure afficheonglet de la manière suivante :

Sub AfficheOnglet(xLeMois)
Application.ScreenUpdating = False
For Each xOng In ThisWorkbook.Sheets
Select Case xOng.Name
Case "DONNEES", "RECAPITULATIF", "FICHE INFOS CONTRAT", "CALCULS"
Sheets(xOng.Name).Visible = True
Case Is = xLeMois
Sheets(xOng.Name).Visible = True
Sheets(xOng.Name).Activate ' Active la feuille sélectionnée
Case Else
Sheets(xOng.Name).Visible = False
End Select
Next xOng
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…