Re-bonjour,
Peut-on, si possible, faire clignoter un contrôle lors de sa sélection soit par clic souris, soit par tabulation ?
Merci pour votre réponse.
Re-bonjour,
Peut-on, si possible, faire clignoter un contrôle lors de sa sélection soit par clic souris, soit par tabulation ?
Merci pour votre réponse.
Bonsoir,
Il est possible de changer l'aspect d'un controle sur le passage de la souris au dessus dudit controle.
En voici le code:
! A mettre dans le formulaire où se trouve ces controles!
Voici un petit exemple.
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 Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) With CommandButton1 .BackColor = &HC0& .ForeColor = &HFFFF& End With End Sub Private Sub CommandButton2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) With CommandButton2 .BackColor = &HC0& .ForeColor = &HFFFF& End With End Sub Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) With CommandButton1 .BackColor = &H8000000F .ForeColor = &H80000012 End With With CommandButton2 .BackColor = &H8000000F .ForeColor = &H80000012 End With End Sub
Merci dusi la réponse a servi.
J'ai fait le test mais ce n'est pas tout à fait ce que je voulais car c'est un clignotement demandée, je pensais qu'il aurait une fonction "flash" par exemple.
Je retiens tout de même le principe et je verrais comment l'adapter à mon idée. Merci pour cette réponse et je reste preneur d'une solution adéquate à ma question.![]()
Bonjour.
Voici une suggestion de clignotement avec UserForm1.ActiveControl et Application.OnTime
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 'Dans un module Dim Heure As Date Public ctlPrecedent As Object Public ctlActif As Object Sub Clignoter() Set ctlActif = UserForm1.ActiveControl If ctlPrecedent Is Nothing Then Set ctlPrecedent = ctlActif End If If Not ctlActif Is Nothing Then If ctlPrecedent.Name <> ctlActif.Name Then ctlPrecedent.BackColor = vbWhite Set ctlPrecedent = ctlActif End If With UserForm1 If ctlActif.BackColor = RGB(Abs(Val(.TextBox4)), Abs(Val(.TextBox5)), Abs(Val(.TextBox6))) Then ctlActif.BackColor = RGB(Abs(Val(.TextBox1)), Abs(Val(.TextBox2)), Abs(Val(.TextBox3))) 'vbGreen Else ctlActif.BackColor = RGB(Val(.TextBox4), Val(.TextBox5), Val(.TextBox6)) 'vbYellow End If End With End If Call Arreter Heure = Now + TimeValue("00:00:01") Application.OnTime Heure, "Clignoter" End Sub Sub Arreter() On Error Resume Next Application.OnTime Heure, "Clignoter", , schedule:=False End Sub
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 'Dans Userform1 Private Sub UserForm_Activate() Set ctlActif = Nothing Set ctlPrecedent = Nothing Call Clignoter End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) Call Arreter End Sub
Partager