Merci ça marche
Par contre au lieu d'utiliser Application.Dialogs(xlDialogPrinterSetup).Show
J'ai fait un bouton qui me liste toutes mes imprimantes disponible dans un USF et j'appelle cet USF au lieu de Application.Dialogs(xlDialogPrinterSetup).Show
Par contre quand je cliquer sur bouton Make Active j'ai une erreur dans mon fichier par contre dans un fichier tout simple pas d'erreur :
Private Sub btnListPrinters_Click()
Dim Printers() As String
Dim Printer As String
Dim N As Long
Printers = GetPrinterFullNames()
With Me.lbxPrinters
.Clear
For N = LBound(Printers) To UBound(Printers)
.AddItem Printers(N)
Next N
If .ListCount > 0 Then
.ListIndex = 0
End If
End With
End Sub
Private Sub btnMakeActive_Click()
Dim Printer As String
With Me.lbxPrinters
If .ListIndex < 0 Then
Exit Sub
End If
Application.ActivePrinter = .List(.ListIndex)
End With
MsgBox Application.ActivePrinter, vbOKOnly, "ActivePrinter"
End Sub
Code btnListPrinters marche bien il affiche bien mes imprimantes dans label lbxPrinters et quand je sélectionne une imprimante et le code btnMakeActive me donne erreur : Application.ActivePrinter = .List(.ListIndex)
Pour l'info USF se nomme ImprimanteDisponible et caption pour cet USF est Imprimante Disponible
D'où est-ce que peut provenir erreur ?
Pour le moment je vais utiliser Application.Dialogs(xlDialogPrinterSetup).Show jusqu'à ce que je trouve la solution
Mais merci pour la solution que tu m'a déjà donner