Imprimer le contenue d'une textbox de plusieurs lignes

Résolu
kinkajou88 Messages postés 5 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 28 septembre 2004 - 8 sept. 2004 à 22:31
cs_sougrinoma Messages postés 3 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 22 août 2009 - 7 nov. 2008 à 21:04
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

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
28 sept. 2004 à 00:22
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
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 sept. 2004 à 15:38
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
kinkajou88 Messages postés 5 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 28 septembre 2004
28 sept. 2004 à 00:02
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??
kinkajou88 Messages postés 5 Date d'inscription mercredi 11 février 2004 Statut Membre Dernière intervention 28 septembre 2004
28 sept. 2004 à 00:39
ok merci je V etudier ça!

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sougrinoma Messages postés 3 Date d'inscription mercredi 22 août 2007 Statut Membre Dernière intervention 22 août 2009
7 nov. 2008 à 21:04
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
Rejoignez-nous