J'ai regardé pas mal de source pour trouver une fonction simple qui me
redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule.
Je récupere bien la valeur la plus grande. (le mot ayant le + de caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col.
c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction :
----------------------------------------------------------------------------
-------------------------
Function redimflexGd(nbcols As Integer, nbrows As Integer)
Dim nbcol As Integer
Dim nbrow As Integer
Dim longtxt As Integer
Dim max As Integer
max = 0
longtxt = 0
For nbcol = 0 To nbcols
For nbrow = 0 To nbrows
With MSFlexGrid1
.Col = nbcol
.Row = nbrow
End With
longtxt = Len(MSFlexGrid1.Text)
If longtxt > max Then max = longtxt
Next
MSFlexGrid1.FormatString = max
max = 0
longtxt = 0
Next
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
YannX
Bonsoir,
Je suis dans la meme situation que toi : debutant sur le FlexGrid..... (et bientot sur les MSChart... -> cf. Tuto de Developpez.com Merci Claire M.) Si tu as trouvé des Docs intéressantes, fais-moi signe, en publiant tes références...
Mais voila un bout de mon code qui pourra te donner des idées : With grd_Pnts .Cols = 4 ' pourra etre passée à 2 au lieu de 4 !!! .Rows = 10 ' .Clear .Col = 0 ' positionner les titres de colonnes .ColWidth(0) = 600 ' 960 par défaut.....
"Shewy80" a écrit dans le message de news:cm2s9l$oll$
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule. Je récupere bien la valeur la plus grande. (le mot ayant le + de
caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col. c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction : --------------------------------------------------------------------------
--
------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols For nbrow = 0 To nbrows With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt Next
MSFlexGrid1.FormatString = max max = 0 longtxt = 0 Next
End Function
Bonsoir,
Je suis dans la meme situation que toi : debutant sur le FlexGrid.....
(et bientot sur les MSChart... -> cf. Tuto de Developpez.com Merci Claire
M.)
Si tu as trouvé des Docs intéressantes, fais-moi signe, en publiant tes
références...
Mais voila un bout de mon code qui pourra te donner des idées :
With grd_Pnts
.Cols = 4 ' pourra etre passée à 2 au lieu de 4 !!!
.Rows = 10 ' .Clear
.Col = 0 ' positionner les titres de colonnes
.ColWidth(0) = 600 ' 960 par défaut.....
"Shewy80" <noMail@noSpam.fr> a écrit dans le message de
news:cm2s9l$oll$1@apollon.grec.isp.9tel.net...
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me
redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule.
Je récupere bien la valeur la plus grande. (le mot ayant le + de
caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col.
c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction :
--------------------------------------------------------------------------
--
-------------------------
Function redimflexGd(nbcols As Integer, nbrows As Integer)
Dim nbcol As Integer
Dim nbrow As Integer
Dim longtxt As Integer
Dim max As Integer
max = 0
longtxt = 0
For nbcol = 0 To nbcols
For nbrow = 0 To nbrows
With MSFlexGrid1
.Col = nbcol
.Row = nbrow
End With
longtxt = Len(MSFlexGrid1.Text)
If longtxt > max Then max = longtxt
Next
MSFlexGrid1.FormatString = max
max = 0
longtxt = 0
Next
Je suis dans la meme situation que toi : debutant sur le FlexGrid..... (et bientot sur les MSChart... -> cf. Tuto de Developpez.com Merci Claire M.) Si tu as trouvé des Docs intéressantes, fais-moi signe, en publiant tes références...
Mais voila un bout de mon code qui pourra te donner des idées : With grd_Pnts .Cols = 4 ' pourra etre passée à 2 au lieu de 4 !!! .Rows = 10 ' .Clear .Col = 0 ' positionner les titres de colonnes .ColWidth(0) = 600 ' 960 par défaut.....
"Shewy80" a écrit dans le message de news:cm2s9l$oll$
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule. Je récupere bien la valeur la plus grande. (le mot ayant le + de
caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col. c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction : --------------------------------------------------------------------------
--
------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols For nbrow = 0 To nbrows With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt Next
MSFlexGrid1.FormatString = max max = 0 longtxt = 0 Next
End Function
Gloops
Bonjour,
As-tu jeté un coup d'oeil là ?
http://www.vbfrance.com/code.aspx?ID468 ______________________________________ Shewy80 a écrit, le 31/10/2004 15:18 :
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule. Je récupere bien la valeur la plus grande. (le mot ayant le + de caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col. c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction : ---------------------------------------------------------------------------- ------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols For nbrow = 0 To nbrows With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt Next
MSFlexGrid1.FormatString = max max = 0 longtxt = 0 Next
End Function
Bonjour,
As-tu jeté un coup d'oeil là ?
http://www.vbfrance.com/code.aspx?ID468
______________________________________
Shewy80 a écrit, le 31/10/2004 15:18 :
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me
redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule.
Je récupere bien la valeur la plus grande. (le mot ayant le + de caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col.
c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction :
----------------------------------------------------------------------------
-------------------------
Function redimflexGd(nbcols As Integer, nbrows As Integer)
Dim nbcol As Integer
Dim nbrow As Integer
Dim longtxt As Integer
Dim max As Integer
max = 0
longtxt = 0
For nbcol = 0 To nbcols
For nbrow = 0 To nbrows
With MSFlexGrid1
.Col = nbcol
.Row = nbrow
End With
longtxt = Len(MSFlexGrid1.Text)
If longtxt > max Then max = longtxt
Next
MSFlexGrid1.FormatString = max
max = 0
longtxt = 0
Next
http://www.vbfrance.com/code.aspx?ID468 ______________________________________ Shewy80 a écrit, le 31/10/2004 15:18 :
Bonjour à tous
J'ai regardé pas mal de source pour trouver une fonction simple qui me redimentinne la larg de mes col en fonction du mot ecrit dedans.
J'ai essayé en faisant : Len(MSFlexGrid.text) pour chaque cellule. Je récupere bien la valeur la plus grande. (le mot ayant le + de caracteres)
Mais commeent ensuite donné cette valeur à la col en question ??
JE voudrai vraiment une fonction courte et plus simple possible.
Je ne comprend pas comment fonctionne la larg des col. c'est la premiere fois que je me sers de MSFlexGrid .... donc forcement !
de meme j'ai essayé avec MSFlexGrid.formatstring
voici ma fonction : ---------------------------------------------------------------------------- ------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols For nbrow = 0 To nbrows With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt Next
MSFlexGrid1.FormatString = max max = 0 longtxt = 0 Next
End Function
Shewy80
Voilà j'ai trouvé une solution !! il faut : 1 MSFlexGrid1 de meme nom 1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!!
Ensuite la technique consiste à ballayer toutes les cellules, à compter le nombre de caractères. s'il est plus grand que le précédent alors je copie ce mot dans le Label à autosize. Des que j'ai fini ma col, je vais voir le label et je prend la propriété "Width" auquel je rajoute un p'tit peu: ici 300
puis on recommence avec la seconde col !
Voilà ! Chez moi ça marche nikel !
Voici l'appel de fonction : Call redimflexGd(MSFlexGrid1.Cols, MSFlexGrid1.Rows)
Voici la Fonction : ---------------------------------------------------------------------------- ----------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols - 1 For nbrow = 0 To nbrows - 1 With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt LblMOT.Caption = MSFlexGrid1.Text End If Next
MSFlexGrid1.ColWidth(nbcol) = LblMOT.Width + 300 max = 0 longtxt = 0 Next
End Function
Voilà j'ai trouvé une solution !!
il faut :
1 MSFlexGrid1 de meme nom
1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!!
Ensuite la technique consiste à ballayer toutes les cellules, à compter le
nombre de caractères.
s'il est plus grand que le précédent alors je copie ce mot dans le Label à
autosize.
Des que j'ai fini ma col, je vais voir le label et je prend la propriété
"Width" auquel je rajoute un p'tit peu: ici 300
puis on recommence avec la seconde col !
Voilà ! Chez moi ça marche nikel !
Voici l'appel de fonction :
Call redimflexGd(MSFlexGrid1.Cols, MSFlexGrid1.Rows)
Voici la Fonction :
----------------------------------------------------------------------------
-----------------------------
Function redimflexGd(nbcols As Integer, nbrows As Integer)
Dim nbcol As Integer
Dim nbrow As Integer
Dim longtxt As Integer
Dim max As Integer
max = 0
longtxt = 0
For nbcol = 0 To nbcols - 1
For nbrow = 0 To nbrows - 1
With MSFlexGrid1
.Col = nbcol
.Row = nbrow
End With
longtxt = Len(MSFlexGrid1.Text)
If longtxt > max Then
max = longtxt
LblMOT.Caption = MSFlexGrid1.Text
End If
Next
MSFlexGrid1.ColWidth(nbcol) = LblMOT.Width + 300
max = 0
longtxt = 0
Next
Voilà j'ai trouvé une solution !! il faut : 1 MSFlexGrid1 de meme nom 1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!!
Ensuite la technique consiste à ballayer toutes les cellules, à compter le nombre de caractères. s'il est plus grand que le précédent alors je copie ce mot dans le Label à autosize. Des que j'ai fini ma col, je vais voir le label et je prend la propriété "Width" auquel je rajoute un p'tit peu: ici 300
puis on recommence avec la seconde col !
Voilà ! Chez moi ça marche nikel !
Voici l'appel de fonction : Call redimflexGd(MSFlexGrid1.Cols, MSFlexGrid1.Rows)
Voici la Fonction : ---------------------------------------------------------------------------- ----------------------------- Function redimflexGd(nbcols As Integer, nbrows As Integer) Dim nbcol As Integer Dim nbrow As Integer Dim longtxt As Integer Dim max As Integer
max = 0 longtxt = 0
For nbcol = 0 To nbcols - 1 For nbrow = 0 To nbrows - 1 With MSFlexGrid1 .Col = nbcol .Row = nbrow End With
longtxt = Len(MSFlexGrid1.Text) If longtxt > max Then max = longtxt LblMOT.Caption = MSFlexGrid1.Text End If Next
MSFlexGrid1.ColWidth(nbcol) = LblMOT.Width + 300 max = 0 longtxt = 0 Next
End Function
Jean-Marc
"Shewy80" a écrit dans le message de news:cm5vhn$1dh$
Voilà j'ai trouvé une solution !! il faut : 1 MSFlexGrid1 de meme nom 1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!! Ensuite la technique consiste à ballayer toutes les cellules, à compter le nombre de caractères. s'il est plus grand que le précédent alors je copie ce mot dans le Label à autosize. Des que j'ai fini ma col, je vais voir le label et je prend la propriété "Width" auquel je rajoute un p'tit peu: ici 300 puis on recommence avec la seconde col ! Voilà ! Chez moi ça marche nikel !
<snip le code>
Hello,
Bravo! Voila un bel exemple de bonne programmtion. Inventivité, créativité, que du bon!
Bienvenue chez les mordus du VB et de la prog en général :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
"Shewy80" <noMail@noSpam.fr> a écrit dans le message de
news:cm5vhn$1dh$1@aphrodite.grec.isp.9tel.net...
Voilà j'ai trouvé une solution !!
il faut :
1 MSFlexGrid1 de meme nom
1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!!
Ensuite la technique consiste à ballayer toutes les cellules, à compter le
nombre de caractères.
s'il est plus grand que le précédent alors je copie ce mot dans le Label à
autosize.
Des que j'ai fini ma col, je vais voir le label et je prend la propriété
"Width" auquel je rajoute un p'tit peu: ici 300
puis on recommence avec la seconde col !
Voilà ! Chez moi ça marche nikel !
<snip le code>
Hello,
Bravo! Voila un bel exemple de bonne programmtion.
Inventivité, créativité, que du bon!
Bienvenue chez les mordus du VB et de la prog en général :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
"Shewy80" a écrit dans le message de news:cm5vhn$1dh$
Voilà j'ai trouvé une solution !! il faut : 1 MSFlexGrid1 de meme nom 1 Label de nom LblMOT avec surtout la propriété "AutoSize" à True !!!! Ensuite la technique consiste à ballayer toutes les cellules, à compter le nombre de caractères. s'il est plus grand que le précédent alors je copie ce mot dans le Label à autosize. Des que j'ai fini ma col, je vais voir le label et je prend la propriété "Width" auquel je rajoute un p'tit peu: ici 300 puis on recommence avec la seconde col ! Voilà ! Chez moi ça marche nikel !
<snip le code>
Hello,
Bravo! Voila un bel exemple de bonne programmtion. Inventivité, créativité, que du bon!
Bienvenue chez les mordus du VB et de la prog en général :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Shewy80
> Hello,
Bravo! Voila un bel exemple de bonne programmtion. Inventivité, créativité, que du bon!
Bienvenue chez les mordus du VB et de la prog en général :-)
-- Jean-marc "There are only 10 kind of people those who understand binary and those who don't."
Merci beaucoup ça fais plaisir ! d'autant que je suis dans la catégorie des débutants !
> Hello,
Bravo! Voila un bel exemple de bonne programmtion.
Inventivité, créativité, que du bon!
Bienvenue chez les mordus du VB et de la prog en général :-)
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Merci beaucoup ça fais plaisir ! d'autant que je suis dans la catégorie des
débutants !