Il faut que tu envoie les lignes de ton TextBox une à une à l'imprimante. Voici un tit exemple, il n'est peut-être pas parfait mais bon c'est juste un exemple ;),
Private Sub cmdPrintText_Click()
' Rien à imprimer alors on quit
If Trim$(TextBox1.Text) = "" Then Exit Sub
Dim lStart As Long
Dim lLength As Long
Dim Texte As String
Dim Temp As String
Texte = TextBox1.Text
' Position de départ
lStart = 1
' Recherche le premier retour de chariot(fin de ligne)
lLength = InStr(lStart, Texte, vbCrLf)
If lLength > 0 Then ' Si une ligne(retour de chariot) à été trouver
' On boucle tant qu'il en trouve
Do
If lLength > 0 Then
Temp = Mid$(Texte, lStart, lLength - lStart)
' Envoie la ligne trouver à l'imprimante
Printer.Print Temp
End If
' Incémente la position de départ
lStart = lLenght + Len(vbCrLf)
' Recherche la prochaine ligne
lLength = InStr(lStart, Texte, vbCrLf)
DoEvents ' Laisser respirer le system un ti peu ;)
Loop Until lLength <= 0 ' Tant qu'il trouve des retour de chariot
Else
' Pas plus d'une linge alors on imprime juste une
Printer.Print Texte
End If
' On imprime le texte!
Printer.EndDoc
End Sub
Désoler pour les fautes de frappe s'il y en à je les fais en direct sur le forum :) . Si y'à un problème avec ce code ou autre ben écrit moi,
Merci beaucoup, je n'aurais pas trouver. Ca fonctionne.
Mais je dois tout de même faire d'autres essais sur différentes imprimantes, car la mienne est partie en révision et me cause quelques soucis.
Amicalement.
Henri