VincentM
XLDnaute Nouveau
Bonjour à tous,
Je débute en macro et j'ai quelques soucis dans l'application de cette nouvelle macro. Si vous pouviez m'aiguiller svp ^^.
Objectif : Masquer et afficher des onglets à la demande à l'aide d'un formulaire.
Problèmes :
ETAPE 1 : Générer deux ListBox pour récupérer les noms des feuilles affichées ou masquées.
ETAPE 2 : En appuyant sur le CommandButton1 masque les feuilles sélectionnées dans la ListBox1.
ETAPE 3 : En appuyant sur le CommandButton2 affiche les feuilles sélectionnées dans la ListBox2.
Merci pour votre aide.
Je débute en macro et j'ai quelques soucis dans l'application de cette nouvelle macro. Si vous pouviez m'aiguiller svp ^^.
Objectif : Masquer et afficher des onglets à la demande à l'aide d'un formulaire.
Problèmes :
- Lorsque je sélectionne l'onglet n°1 dans ListBox1 il ne veut pas se masquer.
- Lorsque je sélectionne un (ou plusieurs) autre onglet dans ListBox1 il me masque les mauvais onglets.
- Pour la ListBox2 l'affichage des onglets ne fonctionne pas.
ETAPE 1 : Générer deux ListBox pour récupérer les noms des feuilles affichées ou masquées.
Code:
Private Sub UserForm_Initialize()
' Liste uniquement les onglets de type "Feuille"
' Les onglets de type "Graphique" ne sont pas inclus
'
Dim i As Integer
ListBox1.Clear 'Liste des feuilles affichées
ListBox2.Clear 'Liste des feuilles masquées
For i = 1 To Worksheets.Count
If Worksheets(i).Visible = True Then
ListBox1.AddItem Worksheets(i).Name
Else:
ListBox2.AddItem Worksheets(i).Name
End If
Next i
End Sub
ETAPE 2 : En appuyant sur le CommandButton1 masque les feuilles sélectionnées dans la ListBox1.
Code:
Private Sub CommandButton1_Click()
Dim j As Integer
For j = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(j) = True Then
Worksheets(j).Visible = xlSheetHidden
End If
Next j
End Sub
ETAPE 3 : En appuyant sur le CommandButton2 affiche les feuilles sélectionnées dans la ListBox2.
Code:
Private Sub CommandButton2_Click()
Dim h As Integer
For h = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(h) = True Then
Worksheets(h).Visible = xlSheetVisible
End If
Next h
End Sub
Merci pour votre aide.