Microsoft 365 Choix d'ouverture d'une feuille

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

nike780

XLDnaute Occasionnel
Bonjour,

Actuellement trésorier d'une association dont je vais abandonner mes fonctions à la fin de la saison sportive, j'ai préparé un fichier excel qui servira à mon remplaçant lors des manifestations futures.

Lors de l'ouverture, c'est bien la page accueil qui s'ouvre avec l'affichage des feuilles "Achats, Résultats, Caisses et Chèques" feuilles qui servent à toutes les manifestations.

J'ai fait une liste déroulante pour choisir le type de manifestation qui lors des choix Palets, Apéro et Tournoi" affiche les 4 feuilles principales et lors du choix "Loto" affiche toutes les feuilles, mon seul soucis c'est que dans le choix "Loto" c'est l'avant dernière feuille qui s'ouvre alors que je voudrai afficher la feuille "Lots"

Pouvez-vous m'aider car en VBA je suis vraiment débutant.

Merci d'avance de votre aide.
Cdt
 

Pièces jointes

Bonjour

C'est pas bien clair..

quand tu fais ta sélection, le code va voir dans chaque feuille si en A1, tu as le meme texte que ta selection.. et il affiche ou pas

et donc. dans toutes les feuilles, tu as "loto" ==> elles sont donc toutes affichées..

il vaudrait mieux avoir une liste qui indique les feuilles à afficher pour chaque selection
 
Bonjour

C'est pas bien clair..

quand tu fais ta sélection, le code va voir dans chaque feuille si en A1, tu as le meme texte que ta selection.. et il affiche ou pas

et donc. dans toutes les feuilles, tu as "loto" ==> elles sont donc toutes affichées..

il vaudrait mieux avoir une liste qui indique les feuilles à afficher pour chaque selection
Merci de ta réponse rapide, je veux afficher toutes les feuilles lorsque je sélectionne "Loto" par contre je voudrai que ce soit la feuille lots qui s'ouvre en 1er et non l'avant dernière feuille (lots tombola)
 
PS:
le format .xls pour excel 97.... ca date un peu..
surtout que tu est en 365
==> le "nouveau" format, c'est .xlsm


la feuille qui s'ouvre;.c'est la dernière qui est affichée
dans la PJ: j'ai créé un tableau qui indique quelle feuille afficher en fonction du type choisi

le code affiche ou masque les feuilles, et revient sur la page d'accueil
 

Pièces jointes

Bonjour le fil

@nike780
Si j'ai bien compris la logique
A essayer
Enrichi (BBcode):
Sub masquer_bis()
Dim ws As Worksheet, x As String, exclusions As Variant
x = Sheets("ACCUEIL").Range("E14").Value
If x = "Apéro Concert" Or x = "Palets" Or x = "Tournoi" Then
exclusions = Array("ACCUEIL", "Feuil2", "Feuil4", "Feuil5") '<- remplacer avec les noms corrects
End If
For Each ws In ThisWorkbook.Worksheets
    If x = "Loto" Then
    ws.Visible = -1
    Else
    ws.Visible = IIf(IsEmpty(exclusions) Or Not UBound(Filter(exclusions, ws.Name)) >= 0, 0, -1)
    End If
Next ws
End Sub
NB: Il faudra mettre le bon nom des des feuilles dans le tableau exclusions
(ligne en rouge dans le code VBA)

EDITION: XLD bogue ? ou c'est mon navigateur ?
Quand j'ai posté mon message, ce fil apparaissant comme sans réponse
Bonjour @vgendron (que je n'avais donc pas vu)
 
Dernière édition:
Bonjour le fil

@nike780
Si j'ai bien compris la logique
A essayer
Enrichi (BBcode):
Sub masquer_bis()
Dim ws As Worksheet, x As String, exclusions As Variant
x = Sheets("ACCUEIL").Range("E14").Value
If x = "Apéro Concert" Or x = "Palets" Or x = "Tournoi" Then
exclusions = Array("ACCUEIL", "Feuil2", "Feuil4", "Feuil5") '<- remplacer avec les noms corrects
End If
For Each ws In ThisWorkbook.Worksheets
    If x = "Loto" Then
    ws.Visible = -1
    Else
    ws.Visible = IIf(IsEmpty(exclusions) Or Not UBound(Filter(exclusions, ws.Name)) >= 0, 0, -1)
    End If
Next ws
End Sub
NB: Il faudra mettre le bon nom des des feuilles dans le tableau exclusions
(ligne en rouge dans le code VBA)

EDITION: XLD bogue ? ou c'est mon navigateur ?
Quand j'ai posté mon message, ce fil apparaissant comme sans réponse
Bonjour @vgendron (que je n'avais donc pas vu)
Bonjour,
Merci à tous pour votre aide.
Cdt
 
Bonjour à tous 😉,

VB:
Sub MasquerTer()
Const FeuillesPermanentes = "accueil;achats;resultats;caisse;cheques"
Dim Fperm$, x
   Application.ScreenUpdating = False
   Fperm = ";" & FeuillesPermanentes & ";"
   For Each x In Worksheets: x.Visible = True: Next
   If LCase(Worksheets("accueil").[e14]) = LCase("Loto") Then
      Worksheets("lots").Select
   Else
      For Each x In Worksheets: x.Visible = InStr(Fperm, ";" & LCase(x.Name) & ";") > 0: Next
      Worksheets("accueil").Select
   End If
End Sub
 
- 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
Retour