Mise à jour de la valeur Textbox ?

Bonjour,

Je fais un USF pour pourvoir imprimer mes feuilles donc donc mon USF j'ai un textbox qui a pour la valeur : l'imprimante par defaut

J'ai un bouton Changer Imprimante par contre quand je change l'imprimante via ce bouton l'imprimante dans le textbox ne change pas

Private Sub CmdChangerImprimante_Click()
'ListeImprimante
Application.Dialogs(xlDialogPrinterSetup).Show
End Sub

Private Sub UserForm_Initialize()

  ComboBox1.Clear
  ComboBox1.AddItem "Janvier " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Février " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Mars " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Avril " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Mai " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Juin " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Juillet " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Août " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Septembre " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Octobre " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Novembre " + ActiveWorkbook.ActiveSheet.Name
  ComboBox1.AddItem "Décembre " + ActiveWorkbook.ActiveSheet.Name

  QuelImprimante.Value = Application.ActivePrinter
  QuelImprimante.Locked = True

End Sub

J'ai essaye ceci :

Private Sub QuelImprimante_Change()
CmdChangerImprimante
End Sub

Mais cela ne marche pas donc comment je puisse faire pour que la nouvelle imprimante s'affiche puis quand je cliquer sur le bouton Valider, l'impression ce fait via cette nouvelle imprimante choisi via le bouton changer imprimante

Merci pour votre aide et désole pour ne pas fourni un fichier exemple

Hello nunizgb,

Private Sub CmdChangerImprimante_Click()
'ListeImprimante
Application.Dialogs(xlDialogPrinterSetup).Show
QuelImprimante.Value = Application.ActivePrinter
End Sub

Merci d3d9x,

C'est bon par contre est-ce que tu sais comment modifier l'affichage de la valeur du Application.ActivePrinter

Parce que dans mon texte box j'ai ceci : Imprimante series sur Ne04:

Comment avoir juste le nom : Imprimante

Je comprend pas la question. Quel est l'intéret d'afficher "Imprimante" quelque soit l'imprimante choisie? Là il y a un truc qui m'échappe xD

En fait actuellement le texte afficher est : Brother HL-2030 series sur Ne04:

alors que je souhaite que soit juste afficher Brother HL-2030 series

Merci

D'accord c'est bcp plus clair

QuelImprimante.Value = Application.ActivePrinter

à remplacer par

QuelImprimante = IIf(Len(Application.ActivePrinter) > 9, Left(Application.ActivePrinter, Len(Application.ActivePrinter) - 9), Application.ActivePrinter)

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

Du débeugage sans fichier c'est pas faisable, si tu veux une aide sur ce problème je t'invite à joindre un fichier contenant que tes formulaires et ton code (vu que c'est là que le problème se situe)

d3d9x a écrit :

Du débeugage sans fichier c'est pas faisable, si tu veux une aide sur ce problème je t'invite à joindre un fichier contenant que tes formulaires et ton code (vu que c'est là que le problème se situe)

Merci je viens d'ouvrir un nouveau sujet ici https://forum.excel-pratique.com/excel/usf-impression-et-imprimante-disponible-t75494.html

Merci encore pour ton aide

Rechercher des sujets similaires à "mise jour valeur textbox"