'Redim Columns For vI& = 0 To myCols
If .Width < widthLimit Then
.Width = .Width + (.ColWidth(vI) + 10)
Else
.Width = widthLimit
vI = .Cols
End If
Next vI
'Redim Rows For vE = 0 To myRows
If .Height < 2700 Then ' limite = 2700
.Height = .Height + (.RowHeight(vE) + 10)
Else
.Height = heightLimit
vE = .Rows
End If
Next
End With
MadLucas
LogRaam (aka Gabriel Mailhot)
Messages postés60Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention25 avril 2005 6 févr. 2004 à 14:20
'Redim Columns For vI& = 0 To myCols
If .Width < widthLimit Then
.Width = .Width + (.ColWidth(vI) + 10)
Else
.Width = widthLimit
vI = .Cols
End If
Next vI
'Redim Rows For vE = 0 To myRows
If .Height < 2700 Then ' limite = 2700
.Height = .Height + (.RowHeight(vE) + 10)
Else
MSF_Resultat.Height = heightLimit
vE = .Rows
End If
Next
End With
C'est un peu plus rapide et c'est plus textuel. Comme ça tu évites de surcharger le code avec des REM. Mais bon c'est une question de goût; certains préfèreront un code avec beaucoup de REM et d'autres aimeront mieux "textualiser" à même le code pour aérer.
MadLucas
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 6 févr. 2004 à 09:42
J'ai bien compris tout cela. Je te dis juste que tu peux renseigner une variable "Hauteur" et une variable "Largeur" dans tes boucles for telles quelles sont et ne redimensionner qu'à la fin des deux boucles. Ca évite de redimensionner toin controle à chaque itération.
cs_rodcobalt22
Messages postés193Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 février 2016 6 févr. 2004 à 08:28
effectivement ça pourais marché à condition que touetts les colones ou ligne on la même taille. malheureusement, c'est pas le cas.
c'est pour cette raison qu'une fois la limitte de taille atteinte, implémente directement la variable de réitération à sa borne de fin.
Comme ça dès que la taille est à mon maximum fixé par moi même.
il ne vérifie plus la taille et sort de la boucle.
en hauteur il fait environ une dizaine de lignes et en largeur environ 6 colones.
cs_rodcobalt22
Messages postés193Date d'inscriptiondimanche 10 février 2002StatutMembreDernière intervention16 février 2016 6 févr. 2004 à 08:28
effectivement ça pourais marché à condition que touetts les colones ou ligne on la même taille. malheureusement, c'est pas le cas.
c'est pour cette raison qu'une fois la limitte de taille atteinte, implémente directement la variable de réitération à sa borne de fin.
Comme ça dès que la taille est à mon maximum fixé par moi même.
il ne vérifie plus la taille et sort de la boucle.
en hauteur il fait environ une dizaine de lignes et en largeur environ 6 colones.
cs_moustachu
Messages postés1079Date d'inscriptionjeudi 14 novembre 2002StatutMembreDernière intervention 1 janvier 2012 5 févr. 2004 à 16:32
Peut-être gagnerais tu en temps d'exécution si tu ne redimensionnais qu'une fois le controle, plutot qu'à chaque fois.
Ca doit être plus rapide de renseigner une variable les boucles For que de redimensionner dans les boucles. Imagine 120 colones et 12000 lignes...
6 févr. 2004 à 14:22
With MSF_Resultat
'Config
myRows& = .Rows - 1
myCols& = .Cols - 1
heightLimit& = 2700
widthLimit& = 6615
'Set initial position
.Move .Left, .Top, 300, 300
'Redim Columns
For vI& = 0 To myCols
If .Width < widthLimit Then
.Width = .Width + (.ColWidth(vI) + 10)
Else
.Width = widthLimit
vI = .Cols
End If
Next vI
'Redim Rows
For vE = 0 To myRows
If .Height < 2700 Then ' limite = 2700
.Height = .Height + (.RowHeight(vE) + 10)
Else
.Height = heightLimit
vE = .Rows
End If
Next
End With
MadLucas
6 févr. 2004 à 14:20
With MSF_Resultat
'Config
myRows& = .Rows - 1
myCols& = .Cols - 1
heightLimit& = 2700
widthLimit& = 6615
'Set initial position
.Move .Left, .Top, 300, 300
'Redim Columns
For vI& = 0 To myCols
If .Width < widthLimit Then
.Width = .Width + (.ColWidth(vI) + 10)
Else
.Width = widthLimit
vI = .Cols
End If
Next vI
'Redim Rows
For vE = 0 To myRows
If .Height < 2700 Then ' limite = 2700
.Height = .Height + (.RowHeight(vE) + 10)
Else
MSF_Resultat.Height = heightLimit
vE = .Rows
End If
Next
End With
C'est un peu plus rapide et c'est plus textuel. Comme ça tu évites de surcharger le code avec des REM. Mais bon c'est une question de goût; certains préfèreront un code avec beaucoup de REM et d'autres aimeront mieux "textualiser" à même le code pour aérer.
MadLucas
6 févr. 2004 à 09:42
6 févr. 2004 à 08:28
c'est pour cette raison qu'une fois la limitte de taille atteinte, implémente directement la variable de réitération à sa borne de fin.
Comme ça dès que la taille est à mon maximum fixé par moi même.
il ne vérifie plus la taille et sort de la boucle.
en hauteur il fait environ une dizaine de lignes et en largeur environ 6 colones.
6 févr. 2004 à 08:28
c'est pour cette raison qu'une fois la limitte de taille atteinte, implémente directement la variable de réitération à sa borne de fin.
Comme ça dès que la taille est à mon maximum fixé par moi même.
il ne vérifie plus la taille et sort de la boucle.
en hauteur il fait environ une dizaine de lignes et en largeur environ 6 colones.
5 févr. 2004 à 16:32
Ca doit être plus rapide de renseigner une variable les boucles For que de redimensionner dans les boucles. Imagine 120 colones et 12000 lignes...
++
Moustachu