Macro pour cacher et ou faire apparaitre des feuilles d'un classeur

Le
baceri
Bonjour
J'ai ecrit une macro pour que lorsque l'on appuis sur un boutons on
affiche 7 feuilles d'un classeur et en on en cache 7 autres en meme
temps et quand on appuis sur un autre bouton les 7 cachées
apparaissent et les 7 autres se cachent. Mon probleme et que chaque
mois mes noms d'onglet changent et ma macro ne marche plus. J'ai
changé le nom de mes onglets dans la macro j'ai essayé (1,2,3 etc);
N° de feuille (feuil1, feuil11, feuil111 etc) et toujours rien


Sheets("feuil1").Visible = True
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(4).Visible = True
Sheets(6).Visible = True
Sheets("Individuel O").Visible = True
Sheets("Liste Ouvriers").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets(16).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets(12).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS47").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS48").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS49").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Individuel").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Liste etam+").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Mois").Select
End Sub

Merci de m'aider
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #19918171
bonjour baceri,

Sub Macro11()
Application.ScreenUpdating = False
For Each f In Worksheets
x = x + 1
Select Case x
Case 1 To 7: Sheets(f.Name).Visible = False
Case 8 To 14: Sheets(f.Name).Visible = True
End Select
Next
Application.ScreenUpdating = True
End Sub

isabelle

baceri a écrit :
Bonjour
J'ai ecrit une macro pour que lorsque l'on appuis sur un boutons on
affiche 7 feuilles d'un classeur et en on en cache 7 autres en meme
temps et quand on appuis sur un autre bouton les 7 cachées
apparaissent et les 7 autres se cachent. Mon probleme et que chaque
mois mes noms d'onglet changent et ma macro ne marche plus. J'ai
changé le nom de mes onglets dans la macro j'ai essayé (1,2,3 etc...);
N° de feuille (feuil1, feuil11, feuil111 etc...) et toujours rien


Sheets("feuil1").Visible = True
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(4).Visible = True
Sheets(6).Visible = True
Sheets("Individuel O").Visible = True
Sheets("Liste Ouvriers").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets(16).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets(12).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS47").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS48").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS49").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Individuel").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Liste etam+").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Mois").Select
End Sub

Merci de m'aider



MichDenis
Le #19918151
Bonjour Baceri,

Dans la fenêtre de l'éditeur de code, dans la section
ProjetVBA(NomDeTonClasseur), tu peux voir les
items de ton projet vba. Tous les composants "Feuille"
de ton projet est ainsi inscrit :
Feuil1(Feuil1)
leur signification :
A ) Le premier "feuil1" représente la propriété "Name"
de l'objet "Feuille"
B ) le deuxième "(Feuil1)" représente le nom de l'onglet de la feuille

Dans ton code, au lieu d'utiliser le nom de l'onglet dans cette
syntaxe :
Worksheets("Feuil1").select ou Sheets("Feuil1").select
tu peux utiliser la propriété Name pour désigner l'objet :
Feuil1.Select

Cette propriété "Name" n'est pas modifiée lorsque tu modifies
le nom des onglets de tes feuilles et conséquemment, ta macro
va continuer de s'exécuter normalement


"baceri"
Bonjour
J'ai ecrit une macro pour que lorsque l'on appuis sur un boutons on
affiche 7 feuilles d'un classeur et en on en cache 7 autres en meme
temps et quand on appuis sur un autre bouton les 7 cachées
apparaissent et les 7 autres se cachent. Mon probleme et que chaque
mois mes noms d'onglet changent et ma macro ne marche plus. J'ai
changé le nom de mes onglets dans la macro j'ai essayé (1,2,3 etc...);
N° de feuille (feuil1, feuil11, feuil111 etc...) et toujours rien


Sheets("feuil1").Visible = True
Sheets(2).Visible = True
Sheets(3).Visible = True
Sheets(4).Visible = True
Sheets(6).Visible = True
Sheets("Individuel O").Visible = True
Sheets("Liste Ouvriers").Visible = True
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets(16).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets(12).Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS47").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS48").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("pointageS49").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlLast
Sheets("Individuel").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Liste etam+").Select
ActiveWindow.SelectedSheets.Visible = False
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Mois").Select
End Sub

Merci de m'aider
LSteph
Le #19918141
Bonjour,

Si seul le nom d'onglet change mais pas la feuille en elle même,
utilise le CodeName plutôt que le Name et une bascule ,
Exemple avec 3 feuilles et les autres:

Option Explicit
Dim tst As Boolean
Sub LesFeuilles()
Dim i As Integer
tst = Not tst
With ActiveWorkbook.Sheets
.Add after:=.Item(.Count) 'ajouter 1 reste visible
For i = 1 To .Count - 1
Select Case .Item(i).CodeName
Case "Feuil1", "Feuil2", "Feuil3"
.Item(i).Visible = tst
Case Else
.Item(i).Visible = Not tst

End Select
Next
Application.DisplayAlerts = False
.Item(.Count).Delete 'supprimer celle ajoutee
Application.DisplayAlerts = True
End With
End Sub

'lSteph


On 12 août, 13:49, baceri
Bonjour
J'ai ecrit une macro pour que lorsque l'on appuis sur un boutons on
affiche 7 feuilles d'un classeur et en on en cache 7 autres en meme
temps et quand on appuis sur un autre bouton les 7 cachées
apparaissent et les 7 autres se cachent. Mon probleme et que chaque
mois mes noms d'onglet changent et ma macro ne marche plus. J'ai
changé le nom de mes onglets dans la macro j'ai essayé (1,2,3 etc...) ;
N° de feuille (feuil1, feuil11, feuil111 etc...) et toujours rien

    Sheets("feuil1").Visible = True
    Sheets(2).Visible = True
    Sheets(3).Visible = True
    Sheets(4).Visible = True
    Sheets(6).Visible = True
    Sheets("Individuel O").Visible = True
    Sheets("Liste Ouvriers").Visible = True
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets(16).Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets(12).Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("pointageS47").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("pointageS48").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("pointageS49").Select
    ActiveWindow.SelectedSheets.Visible = False
    ActiveWindow.ScrollWorkbookTabs Position:=xlLast
    Sheets("Individuel").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Liste etam+").Select
    ActiveWindow.SelectedSheets.Visible = False
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Mois").Select
End Sub

Merci de m'aider


baceri
Le #19918431
Merci
Ca marche
Solution retenue celle de MichDenis plus facile a mettre en place, et
surtout c'est la seule que j'ai compris.

Encore MERCI
Publicité
Poster une réponse
Anonyme