Impression avec un userform d'un autre fichier Excel
Bonjour à tous et merci d'avance pour toute aide que vous pourriez m'apporter.
J'ai une application de gestion de commande sur un fichier excel avec un UserForm. Cette application permet déjà de faire des impressions de certains onglet de ce fichier excel à partir d'un CommandButton.
Je voudrais savoir s'il est possible de programmer un autre CommandButton de ce même UserForm, afin d'imprimer une feuille d'un autre fichier dans le même répertoire.
Dans l'affirmative, pourriez-vous me faire parvenir le code VBA que je devrais insérer dans la Private Sub?
Mille mercis!
Bonjour,
Voici un exemple,
Sub ouvrir_fichier_pour_imprimer()
Dim monfichier, wk1 As Workbook, wk2 As Workbook, monfichier As String
Set wk1 = ThisWorkbook
monfichier = "C:\Users\isabelle\Documents\base.xlsx" 'adapter
Application.ScreenUpdating = False 'ScreenUpdating = True automatiquement à End Sub
Workbooks.Open Filename:=monfichier
Set wk2 = ActiveWorkbook
wk2.Worksheets(1).Activate 'adapter pour la feuille à imprimer --> wk2.Worksheets("blabla").Activate
wk2.ActiveSheet.PrintPreview 'ou .PrintOut
wk2.Close SaveChanges:=False 'fermer le fichier sans l'enregistrer
wk1.Activate
End SubBonjour,
Merci beaucoup d'avoir répondu aussi vite. J'ai adapté et installé votre code d'impression (voir ci-dessous) dans une CommandButton que j'utilisais déjà pour imprimer des onglets du fichier hébergeant le UserForm, et dont j'ai mis le code en commentaire.
J'ai donc essayé de faire tourner votre code, mais sans succès, ni avec .PrintOut ni avec .PrintReview.
Lorsque je clique sur la CommandButton7 rien ne se passe. N'étant pas connaisseur en VBA (je n'ai que quelques notions), je n'ai pas décelé l'erreur que j'ai pu faire.
Merci pour votre aide.
'Programme de l' I M P R E S S I O N de toutes feuilles
' Private Sub CommandButton7_Click()
'Sheets("clients").PrintOut
'Sheets("alex").PrintOut
'Sheets("geof").PrintOut
'Sheets("divers").PrintOut
' End Sub
'Programme de l' I M P R E S S I O N du fichier de production des 2 jours
Sub ouvrir_fichier_pour_imprimer()
Dim monfichier, wk1 As Workbook, wk2 As Workbook, monfichier As String
Set wk1 = ThisWorkbook
' monfichier = "C:\Users\isabelle\Documents\base.xlsx" 'adapter
monfichier = "C:\Users\user\Documents\Boulangerie Boutique\Noël\Noël 20XX\fichier d'essai\production_2jours.xls"
Application.ScreenUpdating = False 'ScreenUpdating = True automatiquement à End Sub
Workbooks.Open Filename:=monfichier
Set wk2 = ActiveWorkbook
wk2.Worksheets(Feuil1).Activate 'adapter pour la feuille à imprimer --> wk2.Worksheets("blabla").Activate
wk2.ActiveSheet.PrintPreview 'ou .PrintOut
wk2.Close SaveChanges:=False 'fermer le fichier sans l'enregistrer
wk1.Activate
End Sub
re,
à tester,
Private Sub CommandButton7_Click()
Call ouvrir_fichier_pour_imprimer
'Sheets("clients").PrintOut
'Sheets("alex").PrintOut
'Sheets("geof").PrintOut
'Sheets("divers").PrintOut
End Sub
Sub ouvrir_fichier_pour_imprimer()
Dim wk1 As Workbook, wk2 As Workbook, monfichier As String
Set wk1 = ThisWorkbook
' monfichier = "C:\Users\isabelle\Documents\base.xlsx" 'adapter
monfichier = "C:\Users\user\Documents\Boulangerie Boutique\Noël\Noël 20XX\fichier d'essai\production_2jours.xls"
Application.ScreenUpdating = False 'ScreenUpdating = True automatiquement à End Sub
Workbooks.Open Filename:=monfichier
Set wk2 = ActiveWorkbook
wk2.Worksheets("Feuil1").Activate 'adapter pour la feuille à imprimer --> wk2.Worksheets("blabla").Activate
wk2.ActiveSheet.PrintPreview 'ou .PrintOut
wk2.Close SaveChanges:=False 'fermer le fichier sans l'enregistrer
wk1.Activate
End SubBonjour, et de nouveau, merci pour votre réponse rapide. J'ai copié collé tout le code que vous m'avez renvoyé, en repérant les erreurs que j'avais introduit dans le premier exercice! Et votre code fonctionne parfaitement! Merci!