Impression sur imprimante réseau

B

B52

Guest
Bonsoir à tous, le forum,

J'ai crée une application qui me permet de saisir des fiches de non conformité.
Une fois saisie, je l'imprime sur l'imprimante par défaut (je travaille avec des imprimantes en réseau) puis enregistre mon fichier et ferme Excel.
Seulement, si il n'y a pas d'imprimante ou alors que celle installée est 'hors service' ma macro bug (ce qui est normal).

je voudrais savoir s'il est possible de résoudre ce problème en ajoutant à ma macro une étape de vérification ou alors le cas échéant, enregistrer mon fichier et le fermer après avoir un message ('Impression annulée').
par avance merci.

Voici ma macro :

Private Sub CommandButton4_Click()
Sheets('FNC français').Select
ActiveWindow.SelectedSheets.PrintOut copies:=1, Collate:=True
Unload UserForm2
Worksheets('Accueil').Select
ThisWorkbook.Close SaveChanges:=True
End Sub

Bien amicalement Stéphane
 

jacktati

XLDnaute Occasionnel
salut B52,

Cette macro liste les imprimantes, donne le choix et le nombre de pages à imprimer.

Sub Imprime()
Dim BookName As sting

BookName = Workbooks('Machin.xls')
If Not Printer_Choice(BookName) Then Workbooks(BookName).Sheet(1).PrintOut
copies:=1
End Sub

'Sélection imprimante pour impression
Function Printer_Choice(nBook As String) As Boolean
Const msgPart1 = ' page(s) à imprimer sur '
Const msgPart2 = 'Imprimante active :'
Const msgPart3 = 'Voulez-vous changer d'imprimante ?'
Dim Reply As Byte, Actual_Printer As String, nbPages As String

If Not nBook = '' Then
Workbooks(nBook).Activate
nbPages = ExecuteExcel4Macro('GET.DOCUMENT(50)') & msgPart1
End If
Actual_Printer = Application.ActivePrinter
Reply = MsgBox(nbPages & msgPart2 & vbLf & Actual_Printer & ' !' & vbLf &
vbLf & msgPart3 _
, 3 + 32 + 256, 'Info utilisateur')
If Reply = vbYes Then Application.Dialogs(xlDialogPrinterSetup).Show
If Reply = vbCancel Then Printer_Choice = True
End Function

@+
 
B

B52

Guest
bonsoir le forum, Jacktati,

tout d'acbord merci pour la macro, je viens de la tester mais ça ne marche pas :

BookName As sting (sur cette ligne, une erreur s'affiche : Erreur de compilation : Type défini par l'utilisateur non défini).

si tu as une idée ? par avance merci

Bien amicalement , Stéphane
 

Discussions similaires

Statistiques des forums

Discussions
312 570
Messages
2 089 768
Membres
104 271
dernier inscrit
acuponctus