Sélectionner plusieurs feuilles à masquer dans une ListBox
Résolu/Fermé
hokousai
Messages postés
7
Date d'inscription
vendredi 11 octobre 2019
Statut
Membre
Dernière intervention
16 novembre 2019
-
Modifié le 11 oct. 2019 à 18:00
hokousai Messages postés 7 Date d'inscription vendredi 11 octobre 2019 Statut Membre Dernière intervention 16 novembre 2019 - 12 oct. 2019 à 12:37
hokousai Messages postés 7 Date d'inscription vendredi 11 octobre 2019 Statut Membre Dernière intervention 16 novembre 2019 - 12 oct. 2019 à 12:37
A voir également:
- Sélectionner plusieurs feuilles google sheet
- Dns google - Guide
- Google maps satellite - Guide
- Google earth - Télécharger - 3D
- Retour à la ligne google sheet ✓ - Forum Bureautique
- Créer un compte google - Guide
3 réponses
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
11 oct. 2019 à 18:12
11 oct. 2019 à 18:12
Bonjour,
tu n'as pas besoin de les masquer!
Il suffit de sélectionner dans la ListBox les feuilles à imprimer comme ceci:
tu n'as pas besoin de les masquer!
Il suffit de sélectionner dans la ListBox les feuilles à imprimer comme ceci:
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Byte
Dim nom As String
'boucle sur les éléments de la listbox
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
nom = ListBox1.List(i)
MsgBox nom
'mettre le code des feuilles à imprimer ici en se servant de la variable nom
End If
Next i
End Sub
Private Sub UserForm_Initialize()
Dim S As Worksheet
ListBox1.MultiSelect = fmMultiSelectExtended
For Each S In Worksheets
ListBox1.AddItem S.Name
Next
End Sub
hokousai
Messages postés
7
Date d'inscription
vendredi 11 octobre 2019
Statut
Membre
Dernière intervention
16 novembre 2019
11 oct. 2019 à 19:26
11 oct. 2019 à 19:26
Merci Le Pivert,

Si j'ai bien compris, je dois lister les feuilles à imprimer plutôt que de masquer les feuilles que je ne veux pas lister ?
Voici ci-desous les code complet du UserForm :
Du coup je vois pas où mettre la variable :

Si j'ai bien compris, je dois lister les feuilles à imprimer plutôt que de masquer les feuilles que je ne veux pas lister ?
Voici ci-desous les code complet du UserForm :
Private Sub apercu_Click()
Dim i As Integer
UserForm1.Hide
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then Sheets(.List(i)).PrintPreview
Next
End With
UserForm1.Show
End Sub
Private Sub imprimer_Click()
Dim i As Integer
UserForm1.Hide
If Application.Dialogs(xlDialogPrinterSetup).Show = False Then
Exit Sub
Else
With ListBox1
For i = 0 To .ListCount - 1
If .Selected(i) Then Sheets(.List(i)).PrintOut Copies:=TextBox1.Value
Next
End With
UserForm1.Show
End If
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label2_Click()
End Sub
Private Sub Label3_Click()
End Sub
Private Sub Label4_Click()
End Sub
Private Sub ListBox1_Click()
For i = 0 To .ListCount - 1
If ListBox1.Selected(i) Then Sheets(.List(i)).Select
Next
End With
End Sub
Private Sub ListBox2_Click()
End Sub
Private Sub UserForm_Initialize()
Dim S As Worksheet
ListBox1.MultiSelect = fmMultiSelectExtended
For Each S In Worksheets
If Not S.Name = "Index" Then
ListBox1.AddItem S.Name
End If
Next
TextBox1 = 0
End Sub
Du coup je vois pas où mettre la variable :
Nom = array("Feuille1","Feuille2","Feuille3")
cs_Le Pivert
Messages postés
7883
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 mars 2023
724
11 oct. 2019 à 19:52
11 oct. 2019 à 19:52
comme ceci:
@+ Le Pivert
Private Sub CommandButton1_Click()
Dim i As Byte
Dim nom As String
'boucle sur les éléments de la listbox
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
nom = ListBox1.List(i)
'mettre le code des feuilles à imprimer ici en se servant de la variable nom
ActiveWorkbook.Sheets(nom).PrintOut
End If
Next i
End Sub
@+ Le Pivert
hokousai
Messages postés
7
Date d'inscription
vendredi 11 octobre 2019
Statut
Membre
Dernière intervention
16 novembre 2019
12 oct. 2019 à 12:37
12 oct. 2019 à 12:37
Bonjour Le Pivert,
Problème résolu.
Merci encore pour ton aide.
Problème résolu.
Private Sub UserForm_Initialize()
Dim S As Worksheet
sh = Array("Index", "Feuil1", "Feuil2")
ListBox1.MultiSelect = fmMultiSelectExtended
For Each S In Worksheets
t = Application.Match(S.Name, sh, 0)
If IsError(t) Then
ListBox1.AddItem S.Name
End If
Next
TextBox1 = 0
End Sub
Merci encore pour ton aide.