Aide

dsmistor Messages postés 17 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 8 août 2008 - 19 avril 2008 à 14:04
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 20 avril 2008 à 10:25
Dans VB6, j'utilise le composant MSFLEXGrid. Lors de l'affichage de la grille, les colonnes font toutes la même largeur. En conséquence certaines données n'apparaissent pas complètement. J'ai beau regarder dans les propriétés de la grille, je ne trouve pas le moyen de faire en sorte que les colonnes s'adaptent automatiquement à la largeur de la donnée la plus longue
Merci d'avance pour l'aide

1 réponse

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
20 avril 2008 à 10:25
Salut
Non, MSFlexGrid n'est pas un composant aussi évolué qu'une grille Excel.
Si tu dois modifier la largeur d'une colonne, il faut l'écrire le programme adéquat.
Pour déterminer la largeur de colonne en Twips (unité graphique), il faut calculer la longueur du plus long texte de ta colonne :
Je n'ai pas VB6 sous la main, le code pourra ressembler à ça :

Dim lLargeur As Long
Dim lTemp As Long
Dim r As Long
For r = 1 To maGrille.NombreDeLignes
   lTemp = Me.TextWidth(maGrille.maCellule(r, maColonne))
   If lTemp > lLargeur Then lLargeur = lTemp
Next r
maGrille.maColonne.Width = lLargeur

A toi de retrouver la syntaxe exacte.

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0