XL 2019 Bouton VBA pour imprimer une feuille

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

hokousai

XLDnaute Nouveau
Bonsoir le forum,

Je souhaiterai utiliser l’UserForm du classeur " Projet vierge " dans mon projet.

Mais je n’arrive pas transposer les codes dans l’UserForm de ma feuille " Index "

Un peu d’aide me retirai une épine du pied.

Merci par avance.
 

Pièces jointes

Re

Il n'y a que toi qui peut savoir quelles sont les différences entre le fichier original et le fichier de test
Et y'a que toi pour savoir qu'est-ce t'as bien pu tripatouiller dans ton VBE 😉
Et il y a que moi pour savoir qu'il est temps que j'enfile pour pyjama en pilou et que j'aille rejoindre les bras Morphée.

Bonne nuit

PS: je repasserai dans ton fil pour voir si tu as trouvé ce qui coince.
 
Bonsoir le fil,

Après comparaison des codes dans les deux classeurs.

Suppression du UserForm du classeur où se trouve les données originales puis Réimporté le UserForm (Sauvegardé au paravent)

Le truc tout bête, les feuilles du classeur original étaient masquées.

Quel code je peu ajouter pour imprimer les feuilles masquées ?
 
Bonsoir

Les rendre visible
Ou autrement dit les démasquer, pour que de nouveau, elles soient en pleine lumière avant impression.
Et le HowTo est à disposition dans toute bonne boulangerie ou pharmacie connectée au web
(et principalement à G..gle )
😉
 
Re,
Avec le code ci-dessous , on peut imprimer des feuilles cachées d'un classeur.
VB:
Private Sub CommandButton2_Click()
Dim copies, Sh As Object, vis%
copies = Abs(Val(InputBox("NOMBRE DE COPIES ?", "Indiquer la quantité désirée...")))
If copies = 0 Then Exit Sub
For Each Sh In Sheets(Array(5, 3))
    vis = Sh.Visible
    Sh.Visible = xlSheetVisible
    Sh.PrintOut copies:=copies
    Sh.Visible = vis 'état initial
Next
End Sub
je souhaiterais l'adapter à mon UserForm.
Code suggéré par @@job75
 
Dernière édition:
Re

En reprenant un petit bout de code que je t'ai précédemment proposé
VB:
Private Sub UserForm_Initialize()
Dim S As Worksheet
ListBox1.MultiSelect = fmMultiSelectExtended
For Each S In Worksheets
S.Visible = xlSheetVisible
If Not S.Name = "Index" Then
ListBox1.AddItem S.Name
End If
Next
End Sub
NB: Si les feuilles sont masquées, on les rend visible pour qu'elles s'affichent dans la ListBox1
 
Bonsoir Staple1600, le forum,
@Staple1600,
J’ai testé avec ceci :
VB:
Private Sub imprimer_Click()
Dim Fe As Worksheet
Application.ScreenUpdating = False
For Each Fe In Worksheets
If Fe.Visible = xlSheetHidden Then
Fe.Visible = xlSheetVisible
Fe.PrintOut
Fe.Visible = xlSheetHidden
End If
Next Fe
Application.ScreenUpdating = False
End Sub
Cela fonctionne.
Il me manque plus qu'à résoudre l'aperçu des feuilles masqué.
Une idée ?
Merci.
 
Bonsoir le fil,

hokousai
Pour infos: l'usage c'est plutôt de créer sa discussion (comme celle-ci) plutôt que poster sa question dans le fil d'un autre (surtout si c'est un vieux fil)

Pour revenir à ta question, (et à ce qu'en j'ai compris) le code proposé dans le message#38 permet d'afficher toutes les feuilles (sauf Index) dans ta ListBox1
Donc normalement, ensuite tu peux imprimer selon ta sélection de feuilles dans la ListBox, non ?

Ce n'est pas ce tu souhaites?
 
Re

Ma modif de UserForm_Initialize rends toutes les feuilles visibles et les affiche leurs noms dans ta ListBox.
Apparemment, on ne comprends pas la même chose.

Donc je passe momentanément le relais à ceux qui comprendront exactement ce que tu souhaites 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
975
Retour