Imprimer une listbox, mais...

z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 - 27 juin 2004 à 23:46
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 - 28 juin 2004 à 11:52
Salut a tous !

Voici mon problème.

J'ai une listbox assez longue que je voudrais imprimer.
Comme elle est très longue, elle s'imprime sur plusieurs pages.

Je voudrais savoir s'il est possible d'imprimer la premiere partie de la listbox et a coté, la seconde listbox...

Sur une feuille ca ferait ca:

LIST1 LIST1
LIST1 LIST1
LIST1 LIST1
LIST1 LIST1
LIST1 LIST1
LIST1 LIST1
LIST1 LIST1

Voila, merci de m'aider !

8 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 juin 2004 à 00:38
Bonsoir
Quelles commandes utilises-tu pour imprimer ta ListBox ?
(Le bout de code)
0
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
28 juin 2004 à 08:48
Dim a
For a = 0 To List1.ListCount - 1
Printer.Print List1.List(a)
Printer.FontSize = 12
Next a
Printer.EndDoc
0
cs_ITALIA Messages postés 2169 Date d'inscription vendredi 20 avril 2001 Statut Membre Dernière intervention 30 juin 2009 9
28 juin 2004 à 09:26
tu peux tenter quelquechose dy type :

Dim X As Integer
Dim Y As Integer

Printer.ScaleMode = 6
Printer.Font = "verdana"
Printer.PaperSize = vbPRPSA4
Printer.PrintQuality = vbPRPQHigh
Printer.Orientation = vbPRORLandscape ' ou vbPRORPortrait
Printer.FontSize = 10
X = 10
Y = 0

For i = 0 To Combo2.ListCount - 1
Printer.CurrentX = X
Printer.CurrentY = Y
X = X + 60
If X = 250 Then
X = 10
Y = Y + 10
End If
Printer.Print Combo2.List(i)
Next i
Printer.EndDoc

It@li@
0
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
28 juin 2004 à 11:28
Ton code ne fonctionnait pas très bien puisqu'il imprimait les lignes de la listbox cote à cote.

J'ai donc fait ca:

Dim X As Integer
Dim Y As Integer
Dim i As Integer
Printer.ScaleMode = 6
Printer.Font = "verdana"
Printer.PaperSize = vbPRPSA4
Printer.PrintQuality = vbPRPQHigh
Printer.Orientation = vbPRORPortrait 'vbPRORLandscape ou vbPRORPortrait
Printer.FontSize = 10
X = 10
Y = 0

For i = 0 To List1.ListCount - 1
Printer.CurrentX = X
Printer.CurrentY = Y
X = X + 60
If X = 70 Then
X = 10
Y = Y + 5
End If
If Y = 515 Then
Y = 0
X = 90
End If
Printer.Print List1.List(i)
Next i
MsgBox Y
Printer.EndDoc

Mais, la, je reviens à ce que je faisais tout au début...

Moi ce que je veux faire, c'est imprimer le début de la ma liste sur une colonne, (ce qui est fait ici) et ensuite, imprimer le reste sur une seconde colonne...

Mais je n'y arrive pas !

Aidez moi svp !
0

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

Posez votre question
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
28 juin 2004 à 11:42
Bonjour

OK jusqu'à
Printer.FontSize = 10
X = 10
Y = 0

Ensuite
Dim Moitié As Integer
Moitié = List1.ListCount \ 2
On Error Resume Next
For i = 0 To Moitié
Printer.CurrentX = X
Printer.Print List1.List(i) ;
Printer.CurrentX = X + Moitié
Printer.Print List1.List(i + Moitié)
Next i
Printer.EndDoc
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
28 juin 2004 à 11:46
Correction :
à la place de

Printer.CurrentX = X + Moitié

écrire

Printer.CurrentX = X + 100 ' 2ème colonne à 100 mm
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
28 juin 2004 à 11:47
Correction :
à la place de

Printer.CurrentX = X + Moitié

écrire

Printer.CurrentX = X + 110 ' 2ème colonne à 110 mm
0
z980x Messages postés 897 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 26 juillet 2007 2
28 juin 2004 à 11:52
Cool !

Merci ca marche bien comme je veux...

Et pour ce qui est de la correction, je l'avais bien vu ! ;-)

Merci !
0