Salut,
Intercepter le passage de la souris c'est simple avec MouseMove mais il est difficile de remettre les choses en place faute d'évènement "MouseOver".
Tu dois dois donc redonner à tous les objets leur couleur initiale à chaque occurrence de MouseMove. Ce n'est pas difficile mais le code devient vite assez long....
Par exemple :
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = QBColor(7)
CommandButton3.BackColor = QBColor(7)
CommandButton2.BackColor = QBColor(7)
End Sub
Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = vbBlue
CommandButton2.BackColor = QBColor(7)
CommandButton3.BackColor = QBColor(7)
End Sub
Private Sub CommandButton2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = QBColor(7)
CommandButton2.BackColor = vbBlue
CommandButton3.BackColor = QBColor(7)
End Sub
Private Sub CommandButton3_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton1.BackColor = QBColor(7)
CommandButton2.BackColor = QBColor(7)
CommandButton3.BackColor = vbBlue
End Sub
A+