Position bouton

Résolu/Fermé
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 18 mars 2008 à 09:05
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 - 18 mars 2008 à 11:40
Bonjour,

j'ai encore des soucis avec mes boutons :

mes boutons sont générés automatiquement à partir d'un bouton qui va parcourir un fichier excel dans lequel se trouve un tableau. ce tableau à un certains nombres de cases remplies avec des caractéristiques. suivant ces caractéristiques le bouton est de vouleur différente = ca c'est fait.

mon pb est que j'aimerai qu'en fonction de la ligne du tableau les boutons se place sur le userform en fonction de ce tableau.
c'est à dire si L1 posséde 4 boutons avec des caractéristiques différentes mais étant sur la L1 les mettrent sur la même rangée du userform.

pour l'instant je fais un truc qui me les mets tous les uns à la suite des autres et je ne sais pas comment faire pour changer celà.

est ce quelqu'un pourrait m'éclairer sur ce point ??

merci
A voir également:

1 réponse

Re,

If faut calculer leur postion à chaque création
Admettons que tu veuilles placer 10 boutons et qu'une rangée ne puisse contenir plus de 3 boutons

dh=20 ' décalage initial par rapport au bord gauche
dv=20 ' décalage initial par rapport au haut de feuille
ih=60 ' intervalle horizontal entre les points d'insertion de 2 boutons sur la meme rangée
iv=30 ' intervalle vertical entre les points d'insertion de 2 boutons sur la meme colonne
maxb=3 ' nbre maxi de boutons par rangées
nb=10 ' nbre de boutons à placer

ib=1 'indice bouton
ir=0 'compteur de rangée
'ic compteur de colonnes

do
for ic=0 to maxb-1
if ib>nb then exit for
left = dh+(ic*ih)
top = dv+(ir*dv)
'definir le bouton
'
'
ib=ib+1
next
ir=ir+1
loop until ib>nb

Sauf erreur, cette procedure crée 3 rangées de trois boutons + i rangée de 1 bouton.

Salut.
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
18 mars 2008 à 10:42
merci ,

je vais essayer d ele mettre dans mon code , je te tiens au courant si j'ai un problème.

merci @+
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 > niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
18 mars 2008 à 10:59
en fiat j'avais fait un truc comme ca, mais mon pb vient de mes cas différents, ca m'embrouille !
dsl te t'embeter autant, e n plus c'est pas la première fois que j'ai besoin de tes connaissances.

je ne sais pas ou mettre els boucles dans mon code :

Dim deport As Integer
Dim inter As Integer
deportinit = 4

For lig = 1 To 2
For col = 1 To 5
If Cells(lig, col).Value = "base" Then
deport = deport + 20 * deportinit
Set Bouton = AutoBe.Controls.Add("Forms.CommandButton.1", "Bouton" & lig & col, True)
MsgBox ("colbase" & col)
MsgBox ("ligbase" & lig)
MsgBox Bouton.Name
With Bouton
.Left = deportinit + deport
.Top = 10
.BackColor = RGB(0, 255, 255)
.Height = 40
.width = 40
End With
Auto.Add Bouton, col
End If

If Cells(lig, col).Value = "optionnel" Then
'deport = deport + 20 * deportinit
Set Bouton = AutoBe.Controls.Add("Forms.CommandButton.1", "Bouton" & lig & col, True)
MsgBox ("coloptio" & col)
MsgBox ("ligoptio" & lig)
With Bouton
'.Left = deportinit + deport
'.Top = 20
.BackColor = RGB(255, 0, 255)
.Height = 40
.width = 40
End With
Auto.Add Bouton, col
End If

If Cells(lig, col).Value = "perso" Then
Set Bouton = AutoBe.Controls.Add("Forms.CommandButton.1", "Bouton" & lig & col, True)
MsgBox ("colperso" & col)
MsgBox ("ligperso" & lig)
With Bouton
' .Left = deportinit + deport
' .Top = 45
.BackColor = RGB(255, 255, 0)
.Height = 40
.width = 40
End With
Auto.Add Bouton, col
End If

Next col
Next lig

j'ai bien mais différents cas possible, mais le fait que ceux ci peuvent se trouver à n'importe quel endroit du tableau je ne vois pas ou mettre la boucle .
0
niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008 > niny@ Messages postés 107 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 16 septembre 2008
18 mars 2008 à 11:40
en fait c'est bon du coup ,

fallait juste faire des case avec un select pour améliorer le code et faire en sorte qu'il n'y est plus de problème avec la position des boutons !

merci @µ+
0