Bonsoir
Michel Pierron m'a fournit cette procédure qui fonctionne très bien sur un
userform
Est-il possible d'avoir la même chose mais que cette fois-ci ce soit le
label qui se déplace de manière aléatoire sur un autre label ?
Merci beaucoup
Michel
Private x!, y!, OK As Boolean
Private Sub CommandButton1_Click()
OK = False
End Sub
Private Sub UserForm_Activate()
OK = True
LabelMove
End Sub
Private Sub UserForm_Initialize()
x = Me.InsideWidth - Me.Label1.Width
y = Me.InsideHeight - Me.Label1.Height
Randomize
End Sub
Private Sub LabelMove()
Dim S As Single
Do While OK
S = Timer + 1 / 2
While Timer < S: DoEvents: Wend
Me.Label1.Move x * Rnd(1), y * Rnd(1)
Me.Repaint
Loop
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
OK = False
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Pierron
Bonjour Michel; Il faut bien sur que le label d'accueil (par exemple: label2) soit plus grand que le label accueilli (par exemple: label1) et tu modifies comme suit : Private x!(1 To 2), y!(1 To 2), OK As Boolean
Private Sub UserForm_Initialize() x(1) = Me.Label2.Left x(2) = Me.Label2.Width - Me.Label1.Width y(1) = Me.Label2.Top y(2) = Me.Label2.Height - Me.Label1.Height Me.Label1.ZOrder 0 Randomize End Sub
Private Sub LabelMove() Dim S As Single Do While OK S = Timer + 1 / 2 While Timer < S: DoEvents: Wend Me.Label1.Move x(1) + x(2) * Rnd, y(1) + y(2) * Rnd Me.Repaint Loop End Sub
MP
"Michel" a écrit dans le message de news:
Bonsoir Michel Pierron m'a fournit cette procédure qui fonctionne très bien sur un userform Est-il possible d'avoir la même chose mais que cette fois-ci ce soit le label qui se déplace de manière aléatoire sur un autre label ? Merci beaucoup Michel
Private x!, y!, OK As Boolean
Private Sub CommandButton1_Click() OK = False End Sub
Private Sub UserForm_Activate() OK = True LabelMove End Sub
Private Sub UserForm_Initialize() x = Me.InsideWidth - Me.Label1.Width y = Me.InsideHeight - Me.Label1.Height Randomize End Sub
Private Sub LabelMove() Dim S As Single Do While OK S = Timer + 1 / 2 While Timer < S: DoEvents: Wend Me.Label1.Move x * Rnd(1), y * Rnd(1) Me.Repaint Loop End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) OK = False End Sub
Bonjour Michel;
Il faut bien sur que le label d'accueil (par exemple: label2) soit plus
grand que le label accueilli (par exemple: label1) et tu modifies comme suit
:
Private x!(1 To 2), y!(1 To 2), OK As Boolean
Private Sub UserForm_Initialize()
x(1) = Me.Label2.Left
x(2) = Me.Label2.Width - Me.Label1.Width
y(1) = Me.Label2.Top
y(2) = Me.Label2.Height - Me.Label1.Height
Me.Label1.ZOrder 0
Randomize
End Sub
Private Sub LabelMove()
Dim S As Single
Do While OK
S = Timer + 1 / 2
While Timer < S: DoEvents: Wend
Me.Label1.Move x(1) + x(2) * Rnd, y(1) + y(2) * Rnd
Me.Repaint
Loop
End Sub
MP
"Michel" <m.hirt@club-internet.fr> a écrit dans le message de news:
ugXTmpMVFHA.2616@TK2MSFTNGP14.phx.gbl...
Bonsoir
Michel Pierron m'a fournit cette procédure qui fonctionne très bien sur un
userform
Est-il possible d'avoir la même chose mais que cette fois-ci ce soit le
label qui se déplace de manière aléatoire sur un autre label ?
Merci beaucoup
Michel
Private x!, y!, OK As Boolean
Private Sub CommandButton1_Click()
OK = False
End Sub
Private Sub UserForm_Activate()
OK = True
LabelMove
End Sub
Private Sub UserForm_Initialize()
x = Me.InsideWidth - Me.Label1.Width
y = Me.InsideHeight - Me.Label1.Height
Randomize
End Sub
Private Sub LabelMove()
Dim S As Single
Do While OK
S = Timer + 1 / 2
While Timer < S: DoEvents: Wend
Me.Label1.Move x * Rnd(1), y * Rnd(1)
Me.Repaint
Loop
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
OK = False
End Sub
Bonjour Michel; Il faut bien sur que le label d'accueil (par exemple: label2) soit plus grand que le label accueilli (par exemple: label1) et tu modifies comme suit : Private x!(1 To 2), y!(1 To 2), OK As Boolean
Private Sub UserForm_Initialize() x(1) = Me.Label2.Left x(2) = Me.Label2.Width - Me.Label1.Width y(1) = Me.Label2.Top y(2) = Me.Label2.Height - Me.Label1.Height Me.Label1.ZOrder 0 Randomize End Sub
Private Sub LabelMove() Dim S As Single Do While OK S = Timer + 1 / 2 While Timer < S: DoEvents: Wend Me.Label1.Move x(1) + x(2) * Rnd, y(1) + y(2) * Rnd Me.Repaint Loop End Sub
MP
"Michel" a écrit dans le message de news:
Bonsoir Michel Pierron m'a fournit cette procédure qui fonctionne très bien sur un userform Est-il possible d'avoir la même chose mais que cette fois-ci ce soit le label qui se déplace de manière aléatoire sur un autre label ? Merci beaucoup Michel
Private x!, y!, OK As Boolean
Private Sub CommandButton1_Click() OK = False End Sub
Private Sub UserForm_Activate() OK = True LabelMove End Sub
Private Sub UserForm_Initialize() x = Me.InsideWidth - Me.Label1.Width y = Me.InsideHeight - Me.Label1.Height Randomize End Sub
Private Sub LabelMove() Dim S As Single Do While OK S = Timer + 1 / 2 While Timer < S: DoEvents: Wend Me.Label1.Move x * Rnd(1), y * Rnd(1) Me.Repaint Loop End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) OK = False End Sub