Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mise en forme sur userform avec MouseMove

  • Initiateur de la discussion Initiateur de la discussion Nanir
  • 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 !

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!
 
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 😕
Et avec un fichier c'est mieux.
 
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 😕
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

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.
 
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

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

Dernière édition:
- 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

Réponses
41
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…