bonjour, je suis entrain de créer un userform qui contient des controls (label et textbox créé) de façon dynamique, sur cette userform il y a aussi une scrollbar verticale, et autres textbox créé eux de manière classique.
voila comment se deroule mon prog :
je rentre une valeur de ligne à créer sur ma userform, je clique OK nombre de ligne demandé se crée, sur chaque ligne j'ai un label et 4 textbox. si je depasse 25 lignes le tout sort de ma page c'est pour cela que j'ai poser une scrollbar.
ce que j'aimerai faire c'est pouvoir deplacer les labels et les textbox créés dynamiquement avec la scrollbar, mais je n'y arrive pas.
actuellement voici ce que j'ai,
une boucle de creation de label en dynamique For i = 1 To cantidad 'boucle pour la création des label capa Set capa = definicion_mano.Controls.Add("forms.Label.1" ) With capa .Name = "capa" & i - 1 .Object.Caption = "capa" & i - 1 .left = 90 .Top = 18 * i + 5 .width = 60 .height = 20 End With Next i
une boucle qui recupere la valeur de la position de chaque label
'---------recup de la position suivant top des labels capa----------- For i = 1 To cantidad For Each capa In definicion_mano.Controls If capa.Name = "capa" & i - 1 Then captop(i - 1) = capa.Top End If Next capa Next i
j'arrive donc a avoir la valeur du .top de ces labels la valeur varie meme avec la scrollbar captop(0) = 23 - ScrollBar1.Value mais par contre la position du label en lui même sur ma userform ne varie pas et je ne vois pas ce qu'il me manque. un update ou une sorte d'actualisation de la position peut etre?
voilivoilou si quelqu'un pouvait me donner un tuyau pour pouvoir faire ça, ça serait vraiment super
Marsh Posté le 01-06-2007 à 14:33:05
bonjour,
je suis entrain de créer un userform qui contient des controls (label et textbox créé) de façon dynamique, sur cette userform il y a aussi une scrollbar verticale, et autres textbox créé eux de manière classique.
voila comment se deroule mon prog :
je rentre une valeur de ligne à créer sur ma userform, je clique OK
nombre de ligne demandé se crée, sur chaque ligne j'ai un label et 4 textbox.
si je depasse 25 lignes le tout sort de ma page
c'est pour cela que j'ai poser une scrollbar.
ce que j'aimerai faire c'est pouvoir deplacer les labels et les textbox créés dynamiquement avec la scrollbar, mais je n'y arrive pas.
actuellement voici ce que j'ai,
une boucle de creation de label en dynamique
For i = 1 To cantidad 'boucle pour la création des label capa
Set capa = definicion_mano.Controls.Add("forms.Label.1" )
With capa
.Name = "capa" & i - 1
.Object.Caption = "capa" & i - 1
.left = 90
.Top = 18 * i + 5
.width = 60
.height = 20
End With
Next i
une boucle qui recupere la valeur de la position de chaque label
'---------recup de la position suivant top des labels capa-----------
For i = 1 To cantidad
For Each capa In definicion_mano.Controls
If capa.Name = "capa" & i - 1 Then
captop(i - 1) = capa.Top
End If
Next capa
Next i
j'arrive donc a avoir la valeur du .top de ces labels
la valeur varie meme avec la scrollbar
captop(0) = 23 - ScrollBar1.Value
mais par contre la position du label en lui même sur ma userform ne varie pas et je ne vois pas ce qu'il me manque. un update ou une sorte d'actualisation de la position peut etre?
voilivoilou si quelqu'un pouvait me donner un tuyau pour pouvoir faire ça, ça serait vraiment super
merci d'avance
fabientoupeti