Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

4 réponses
Avatar
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=E9es
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=E9 le nom de mes onglets dans la macro j'ai essay=E9 (1,2,3 etc...);
N=B0 de feuille (feuil1, feuil11, feuil111 etc...) et toujours rien


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

Merci de m'aider

4 réponses

Avatar
isabelle
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



Avatar
MichDenis
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" a écrit dans le message de groupe de discussion :

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
Avatar
LSteph
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 wrote:
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


Avatar
baceri
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