Boucle bouton commande déplacement miroir

schedal1

XLDnaute Nouveau
Bonsoir,

J'ai un commandbutton qui à pour but d'inverser la position de tous les autres commandbutton dans un userform.
voici le code :
Code:
Private Sub CommandButton30_Click()
Me.CommandButton2.Left = n°1.Width - (Me.CommandButton2.Left + 45)
Me.CommandButton11.Left = n°1.Width - (Me.CommandButton11.Left + 45)
Me.CommandButton1.Left = n°1.Width - (Me.CommandButton1.Left + 45)
Me.CommandButton3.Left = n°1.Width - (Me.CommandButton3.Left + 45)
Me.CommandButton4.Left = n°1.Width - (Me.CommandButton4.Left + 45)
Me.CommandButton5.Left = n°1.Width - (Me.CommandButton5.Left + 45)
Me.CommandButton6.Left = n°1.Width - (Me.CommandButton6.Left + 45)
Me.CommandButton7.Left = n°1.Width - (Me.CommandButton7.Left + 45)
Me.CommandButton8.Left = n°1.Width - (Me.CommandButton8.Left + 45)
Me.CommandButton9.Left = n°1.Width - (Me.CommandButton9.Left + 45)
Me.CommandButton10.Left = n°1.Width - (Me.CommandButton10.Left + 45)

'n°1.CommandButton5.Top = 36
'n°1.CommandButton2.Top = 360
'n°1.CommandButton4.Top = 252
'n°1.CommandButton3.Top = 132
'n°1.CommandButton10.Top = 282
'n°1.CommandButton7.Top = 102
'n°1.CommandButton8.Top = 360
'n°1.CommandButton9.Top = 36


Me.Label1.Left = n°1.Width - (Me.Label1.Left + 108)
Me.Label2.Left = n°1.Width - (Me.Label2.Left + 108)
Me.Label3.Left = n°1.Width - (Me.Label3.Left + 108)
Me.Label4.Left = n°1.Width - (Me.Label4.Left + 108)
Me.Label5.Left = n°1.Width - (Me.Label5.Left + 108)
Me.Label6.Left = n°1.Width - (Me.Label6.Left + 108)
Me.Label7.Left = n°1.Width - (Me.Label7.Left + 108)
Me.Label8.Left = n°1.Width - (Me.Label8.Left + 108)
Me.Label9.Left = n°1.Width - (Me.Label9.Left + 108)
Me.Label10.Left = n°1.Width - (Me.Label10.Left + 108)
Me.Label11.Left = n°1.Width - (Me.Label10.Left + 108)

Me.CommandButton14.Left = n°1.Width - (Me.CommandButton14.Left + 126)
Me.CommandButton19.Left = n°1.Width - (Me.CommandButton19.Left + 126)
Me.CommandButton16.Left = n°1.Width - (Me.CommandButton16.Left + 126)
Me.CommandButton18.Left = n°1.Width - (Me.CommandButton18.Left + 126)
Me.CommandButton12.Left = n°1.Width - (Me.CommandButton12.Left + 126)
Me.CommandButton13.Left = n°1.Width - (Me.CommandButton13.Left + 126)
Me.CommandButton15.Left = n°1.Width - (Me.CommandButton15.Left + 126)
Me.CommandButton21.Left = n°1.Width - (Me.CommandButton21.Left + 126)
Me.CommandButton22.Left = n°1.Width - (Me.CommandButton22.Left + 126)

Me.CommandButton26.Left = n°1.Width - (Me.CommandButton26.Left + 72)
Me.CommandButton27.Left = n°1.Width - (Me.CommandButton27.Left + 72)
Me.CommandButton28.Left = n°1.Width - (Me.CommandButton28.Left + 72)
Me.CommandButton29.Left = n°1.Width - (Me.CommandButton29.Left + 72)

Me.CommandButton23.Left = n°1.Width - (Me.CommandButton23.Left + 96)
Me.CommandButton24.Left = n°1.Width - (Me.CommandButton24.Left + 96)
Me.CommandButton25.Left = n°1.Width - (Me.CommandButton25.Left + 96)




End Sub

2 problèmes : 1 en faisant pas à pas ca fait un peu long, y aurait il moyen de simplifier,j'ai mis ceci en place :
Code:
Dim i As Byte
For i = 1 To 11
With Controls("commandbutton" & i)
.Left = n°1.Width - (.Left + 45)
End With
Next i

mais comment faire passer 11.

Deuxième problème comme vous le voyez je recherche à inverser la position verticale entre certains bouttons. malheureusement mon code inverse le premier mais pas le second (qui prend la valeur du premier une fois que celui-ci est inversé).

Si quelqu'un peut m'aider car cela dépasse un peu mes compétences.

Merci par avance
 

schedal1

XLDnaute Nouveau
Re : Boucle bouton commande déplacement miroir

Voici un fichier très simplifié portant uniquement sur l'userform. L'userform n°1 est un schéma d'une équipede football en place. L'objectif est d'appuyer sur le bouton "Inverser" pour faire basculer les objets (boutons & label) de l'autre coté. (gauche à droite ou droite à gauche). Les boutons des joueurs 2/3 ; 4/5; 8/10 et 7/11 et leur label doivent également basculé suivant l'horizontal. (l'arrière gauche doit rester à gauche, le milieu droit à dorite , etc...).

J'ai mis deux boutons inverser mais un seul est nécéssaire. (c'est pour tester différentes méthodes).

Merci pour l'aide que vous pourrez m'apporter.
 

Pièces jointes

  • usrform n°1 mirroir.xlsm
    119.5 KB · Affichages: 32

Statistiques des forums

Discussions
312 323
Messages
2 087 301
Membres
103 512
dernier inscrit
sisi235