Bonjour,


je rencontre des problèmes à la création d'un controle car je n'arrive pas à bien positionner le controle.
Je pense que c'est plus un problème d'algorithme qu'autre chose.
En fait, je crée des textbox en fonction d'une variable integer nb

De là, je créé 3 textbox si nb vaut 3 ou 20 si nb vaut 20.
J'ai un controle boite qui doit s'agrandir dynamiquement en fonction du nombre de textbox mais je n'arive pas à trouver une formule qui le fait correctement(ça fait plusieurs jours que je tente pas mal de trucs avec des modulo, ou division).

voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
entDonnéeX = 280
entDonnéeY = 200
'création d'un controle boite
Set ctlboite = CreateControl("frm_tableau", acRectangle, , "", "", _
entDonnéeX, entDonnéeY)
    ctlboite.name = "boite_tab"
    ctlboite.BackStyle = 1
    ctlboite.BorderStyle = 1
    ctlboite.BorderColor = "13936755"
    ctlboite.BackColor = "15590879"
    ctlboite.Width = 8400
     ctlboite.Height = 1000*nb
 
'créationd es textobox
While j < nb + 1
   i = 0
 
        Call createLabel(entDonnéeX, entDonnéeY, avant + j, "clt_" & j)
 
 
        entDonnéeY = entDonnéeY + 1700
        Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
 
        i = i + 1
        entDonnéeY = entDonnéeY + 1700
        Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
 
        i = i + 1
      entDonnéeY = entDonnéeY + 1900
        Call createText(entDonnéeX, entDonnéeY, "txt_" & i & "_" & j)
 
    i = i + 1
    j = j + 1
     entDonnéeX = entDonnéeX + 400
     entDonnéeY = 1300
Wend

Qd nb est trop petit la boite l'est aussi et qd nb est grand la boite est trop grande.

Toute idée est la bienvenue
(peut-être devrais-je poster cette discussion dans une reubrique "algorithme?

merci