XL 2019 Afficher textbox 2 seconde

  • Initiateur de la discussion Initiateur de la discussion farid
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

farid

XLDnaute Occasionnel
Bonjour à vous tous ,
en PJ, j'ai un bouton 1 et lorsque je passe ma souris dessus, ma textbox1 s'affiche et lorsque la souris est sur le textbox2 , ma textbos1 disparrait, jusqu'ici pas de soucié.
Ma question est, lorsque la souris est le bouton 1 et que la textbox 1 apparaît, serait-il possible tout en gardant la souris sur le bouton de rendre invisible ma textbox 1 au bout de 2 secondes.
Merci pour votre retour et bonne journée
 

Pièces jointes

Solution
bonjour farid, mapomme, Phil69970,
Je ne pense pas que l'on peut bloquer les évènements sur mousemove sans faire une usine à gaz
Avec une variable Static le blocage n'a rien d'une usine à gaz :
VB:
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Static n 'mémorise la variable
Dim test As Boolean, PauseTime, Start
n = n + 1
test = X < 10 Or X > CommandButton1.Width - 10 Or Y < 10 Or Y > CommandButton1.Height - 10
If n = 1 And Not test Then
    If CommandButton1.BackColor <> RGB(255, 167, 38) Then CommandButton1.BackColor = RGB(255, 167, 38)
    TextBox1.Visible = True
    PauseTime = 2    ' Définit la durée.
    Start = Timer    ' Définit l'heure de...
Bonjour @farid 🙂,
En visant la simplicité, peut-être :
VB:
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim t
   CommandButton1.BackColor = RGB(255, 167, 38): Me.TextBox1.Visible = True
   t = Timer + 2: Do While Timer <= t: DoEvents: Loop
   Me.CommandButton1.BackColor = RGB(206, 206, 206): Me.TextBox1.Visible = False
End Sub

edit : bonjour @Phil69970 😉.
 
Dernière édition:
Bonjour MaPomme , Phil,
merci pour ces réponses rapides et efficaces. Vos propositions fonctionnent très bien, cependant (hé oui, je suis embêtant), lorsque la souris est sur le bouton, vos codes fonctionnent, mais si je bouge la souris dans ce même bouton, l'événement redémarre. La question est-ce possible lorsque je suis sur le bouton et que l'événement s'enclenche et tant que la souris n'est pas sortie du bouton que je ne puisse pas relancer l'événement.
Merci à vous deux et bonne journée.
Farid
 
bonjour farid, mapomme, Phil69970,
Je ne pense pas que l'on peut bloquer les évènements sur mousemove sans faire une usine à gaz
Avec une variable Static le blocage n'a rien d'une usine à gaz :
VB:
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Static n 'mémorise la variable
Dim test As Boolean, PauseTime, Start
n = n + 1
test = X < 10 Or X > CommandButton1.Width - 10 Or Y < 10 Or Y > CommandButton1.Height - 10
If n = 1 And Not test Then
    If CommandButton1.BackColor <> RGB(255, 167, 38) Then CommandButton1.BackColor = RGB(255, 167, 38)
    TextBox1.Visible = True
    PauseTime = 2    ' Définit la durée.
    Start = Timer    ' Définit l'heure de début.
    Do While Timer < Start + PauseTime
        DoEvents    ' Donne le contrôle à d'autres processus.
    Loop
    TextBox1.Visible = False
ElseIf test Then
    n = 0 'RAZ
End If
End Sub
A+
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
361
Réponses
16
Affichages
946
Retour