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
- Google maps satellite - Guide
- Dns google - Guide
- Google maps - Guide
- Google - Guide
- Google earth - Télécharger - 3D
3 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
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
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
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.