Imprimer un flexgrid multi-lignes

0/5 (8 avis)

Vue 10 407 fois - Téléchargée 2 478 fois

Description

Voici une manière de faire pour imprimer un flexgrid dont les cellules contiennent de longues chaînes de texte réparties sur plusieurs lignes séparées ou non par un retour-chariot.

Vous trouverez également un moyen d'ajuster automatiquement la hauteur de ligne d'une cellule en fonction de son contenu.

Pour l'instant, l'impression se fait sur l'imprimante par défaut.

Conclusion :


Le code doit encore être amélioré afin de permettre :
- la coloration du texte et des cellules ;
- la réalisation d'une marge à gauche ;
- la réalisation de plusieurs pages si la grille est trop grande ;
- l'impression ou non des titres de colonnes sur chacune des pages à imprimer ;
- etc.

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_KifKif Messages postés 88 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 4 avril 2008
17 mai 2003 à 08:34
Très intéressant pour les utilisateurs de 'FlexGrid' car le programme est largement commenté et fonctionne parfaitement. Bravo Didier
devsurf Messages postés 148 Date d'inscription dimanche 13 octobre 2002 Statut Membre Dernière intervention 13 novembre 2008
17 mai 2003 à 09:49
Trés instructif. Merci
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
1 déc. 2004 à 15:08
Super juste ce qu'il me fallait.
Seul petit pb :
Le backcolor n'est pas imprimé.
Je vois qu'il est récupéré
couleur = LaGrille.CellBackColor
Mais qu'il n'est envoyé nul part à l'imprimante.
Qq1 sait-il comment faire ?

En tout cas ça vaut un bon 9/10

Bonne prog
++
cs_PROGRAMMIX Messages postés 1133 Date d'inscription mercredi 2 octobre 2002 Statut Membre Dernière intervention 24 juillet 2011 2
1 déc. 2004 à 15:20
Merci pour la note

Malheureusement pour la couleur, je ne sais... vu que je n'ai toujours pas d'imprimante couleur... (et oui...)
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
1 déc. 2004 à 16:51
Moi non plus pas d'imprimante laser mais je voudrai griser quelques cellules, un niveau de gris me convient parfaitement :

J'ai songé à ça mais il y a un petit décallage :

If Not couleur = &HFFFFFF Then
Printer.Line (posX - 1 * 56.7, posY - 1 * 56.7)-(posX + largeur + 1 * 56.7, posY + hauteur + 1 * 56.7), couleur, BF
Else
Printer.Line (posX - 1 * 56.7, posY - 1 * 56.7)-(posX + largeur + 1 * 56.7, posY + hauteur + 1 * 56.7), , B
End If

Qu'en pense tu ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.