Mise en forme sur userform avec MouseMove

Nanir

XLDnaute Occasionnel
Bonjour,

Sur un userform, j'ai 23 commandbutton.
Il est possible que j'en rajoute par la suite...

Vous est t-il possible de compiler ce code afin qu'il fonctionne avec tous les commandbutton de mes userform??

Private Sub commandbutton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton2.ForeColor = &H80000012
CommandButton2.Font.Size = 8
CommandButton2.Font.Bold = False
CommandButton1.ForeColor = &HFF0000
CommandButton1.Font.Size = 8
CommandButton1.Font.Bold = True
...
...
Jusqu'à commandbutton23!
End Sub

23 fois ce private sub...

C'est énorme.


Help, s'il vous plaît...
Merci!
 

skoobi

XLDnaute Barbatruc
Re : Mise en forme sur userform avec MouseMove

Bonjour Nanir,

Le ForeColor change tout les 2 boutons?
Idem pour la mise en gras?
Et pourquoi commencer par le "2" puis continuer par le "1"?, décroissant :confused:
Et avec un fichier c'est mieux.
 

Nanir

XLDnaute Occasionnel
Re : Mise en forme sur userform avec MouseMove

Bonjour Nanir,

Le ForeColor change tout les 2 boutons?
Idem pour la mise en gras?
Et pourquoi commencer par le "2" puis continuer par le "1"?, décroissant :confused:
Et avec un fichier c'est mieux.

En fait, sur le formulaire j'ai 23 commandbutton.
Je souhaiterai que le forecolor change losque le bouton est pointé avec la souris...
La seule méthode que j'ai trouvé est celle citée ci-dessus mais elle est super longue.

Ci joint un fichier exemple.
L'exemple est réalisé pour les 3 premier boutons seulement.
 

Pièces jointes

  • Mousemove.xls
    29 KB · Affichages: 123
  • Mousemove.xls
    29 KB · Affichages: 129
  • Mousemove.xls
    29 KB · Affichages: 134

Nanir

XLDnaute Occasionnel
Re : Mise en forme sur userform avec MouseMove

Re,

il faut utiliser les modules de classe.
Là j'ai plus le temps, désolé. Si jamais personne ne t'auras fais une proposition d'ici demain, j'essayerai de te répondre.

Merci pour ton aide.
Juste pour le fun, j'ai complété le fichier exemple joint pour les 8 commandbutton...
Il doit certainement y avoir un moyen de faire beaucoup, beaucoup plus court...
 

Pièces jointes

  • Mousemove.xls
    35 KB · Affichages: 86
  • Mousemove.xls
    35 KB · Affichages: 95
  • Mousemove.xls
    35 KB · Affichages: 97

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Mise en forme sur userform avec MouseMove

Bonjour,

Voir PJ

Code:
Dim Btn(1 To 10) As New ClasseBoutons
Private Sub UserForm_Initialize()
  For i = 1 To 8
   Set Btn(i).GrBoutons = Me("commandbutton" & i)
  Next i
End Sub

Module de classe:

Code:
Public WithEvents GrBoutons As Msforms.CommandButton
Private Sub GrBoutons_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  For i = 1 To 8:
    UserForm1("CommandButton" & i).ForeColor = 0
    UserForm1("CommandButton" & i).Font.Bold = False
  Next
  GrBoutons.ForeColor = RGB(255, 0, 0)
  GrBoutons.Font.Bold = True
End Sub


JB
 

Pièces jointes

  • Copie de Mousemove-2.xls
    41.5 KB · Affichages: 168
Dernière édition:

Discussions similaires

Réponses
29
Affichages
1 K

Statistiques des forums

Discussions
312 480
Messages
2 088 757
Membres
103 950
dernier inscrit
Thomas Solioz