Imprimer le contenue d'une textbox de plusieurs lignes

Résolu
Signaler
Messages postés
5
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
28 septembre 2004
-
Messages postés
3
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
22 août 2009
-
voila mon problème:
J'ai une textbox avec beaucoup de texte et je voudrais savoir comment l'imprimer. A ce jour, quand j'imprime, je me retrouve avec la première ligne mais l'imprimante ne va pas a la ligne et donc je n'ai pas mon texte entier.
Si quelqu'un peut m'aider, ça serai très gentils.
Merci d'avance.

5 réponses

Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
LrgTB = Text1.Width 'largeur de la textbox
Texte = Text1.Text
Do While Texte <> "" 'tant qu'il reste du texte
For i = 1 To Len(Texte) 'on ajoute les caractères
Ligne = Ligne & Mid$(Texte, i, 1)' un par un

'on se rappelle la position des espaces
'pour ne pas couper des motsIf Mid$(Texte, i, 1) Chr$(32) Then Espace i

'si on a atteint ou dépassé la largeur de la textbox
If TextWidth(Ligne) >= LrgTB Then
'on mémorise la ligne à imprimer,
'coupée au niveau d'un espace ...
Ligne = Left$(Texte, Espace - 1)
' et on enlève cette ligne du texte à imprimer
Texte = Mid$(Texte, Espace + 1)
'on envoie la ligne à l'imprimante
Printer.Print Ligne
'on vide la ligne imprimée
Ligne = ""
'on sort de la boucle d'ajout de caractères
Exit For
End If
Next i
'et on recommence !
Loop
'on lance l'impression
Printer.EndDoc
3
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Bonjour
Si ta TextBox s'appelle Text1, voici qui devrait à peu près fonctionner :
Dim LrgTB As Double, Texte As String, Ligne As String, i As Integer, Espace As Integer
LrgTB = Text1.Width
Texte = Text1.Text
Do While Texte <> ""
    For i = 1 To Len(Texte)
        Ligne = Ligne & Mid$(Texte, i, 1)        If Mid$(Texte, i, 1) Chr$(32) Then Espace i
        If TextWidth(Ligne) >= LrgTB Then
            Ligne = Left$(Texte, Espace - 1)
            Texte = Mid$(Texte, Espace + 1)
            Printer.Print Ligne
            Ligne = ""
            Exit For
        End If
    Next i
Loop
Printer.EndDoc
0
Messages postés
5
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
28 septembre 2004

Merci C 1 bon debut meme si ça fait des truc un peu bizare! S ke je pourais avoir une explication détaillée du prog??
0
Messages postés
5
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
28 septembre 2004

ok merci je V etudier ça!
0
Messages postés
3
Date d'inscription
mercredi 22 août 2007
Statut
Membre
Dernière intervention
22 août 2009

bonjour j'ai essaye ce code mais il affiche sur chaque ligne un mot .je me demandais s'il ya pas quelque chose qui manqait
0