Aide sur alignement du texte

Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Bonjour a tous,


 


J'ai une question.


J'ai un fichier texte que j'ai cree. Mon probleme c'est que j'ai 3 colonne differente et que la premier colonne est enligner avec la marge du fichier, mais le probleme sont les 2 autre, je voudrais qui s'enligne tous les un avec les autre. J'ai utilisaer les tabulation , mias sa fonctionne pas sur toute.



ex: (pas correct)



alllo                 moi
salut                            toi







ex: (Se que je voudrais)



alllo                 moi
salut                toi



et si vous avez la reponce, merci
DraaFil

5 réponses

Messages postés
438
Date d'inscription
samedi 24 mai 2003
Statut
Membre
Dernière intervention
23 janvier 2011
1
Salut,
fais nous un copier coller de ton bout de code qui créer ton fichier pour que l'on analyse d'où vienne le problème
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

ok, mias ce code sert a l'impression

Open Patch For Input As #FileNb
        Do While Not EOF(FileNb)
            DocTexte = ""
            Line Input #FileNb, Vals
            If Right$(Vals, 1) = ";" Then
                Vals = Left$(Vals, Len(Vals) - 1)
            End If
            Var = Split(Vals, ";")
            DocTexte = Var(1) & vbTab & vbTab vbTab  & Var(2)
            Printer.Print DocTexte
            
        Loop
    Close #FileNb
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Problème lié aux polices dites "proportionnelles" comme Arial.
Il existe des sources sur vbfrance qui explique comment faire apparaitre plusieurs colonnes dans une ListBox ou ComboBox.
Cherche de ce côté en entrant "colonnes listbox" dans le moteur de recherche du site

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

C'est pas dans un listbox ce que je cherche, c'est plutot pour un fichier quelconque a l'impression

merci
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
Ca ne t'empèche pas de regarder comment c'est fait, le problème de base est le même.
Sinon, regarde du côté des fonctions .TextWidth et .TextHeight des objets Form, PictureBox et ... Printer
Ils te renverront la taille en Twips de la chaine de caractères.
Il te suffit de faire une boucle en ajoutant un espace à chaque fois, tu pourras remplir l'espace graphique pour cadrer les colonnes.
Il faudra, bien sûr, que le Form, PictureBox ou Printer aient les mêmes polices, taille et propriété (gras, italique ...) que le texte à insérer. Genre :
' Créé une PictureBox nommée maPictureBox, rend la invisible (Visible = False)
With maPictureBox
   .FontName = "Arial"
   .FontSize = 10
   .FontBold = True
   .Font....
   Do While .TextWidth(monTexte) < 4000
      monTexte = monTexte & " "
   Loop
End With

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on