Re : Bouton "sympa" dans un userform
Bonsoir Shock, Dull, papapaul, Papynou, jean23, le Forum,
Pour obtenir ces boutons, je me suis servi de simples contrôles Label en jouant sur leur propriété picture.
1- Comment obtenir l'effet dégradé simplement et sans logiciel graphique ?
- Dans l'éditeur VBE, je construis mon USF avec les contrôles Label alignés.[/i]
- Je retourne ensuite sur une feuille de calcul Excel, j'affiche la barre d'outils Dessin.
- Je choisis et trace un dessin rectangle sur la feuille.
- Puis je fais clic droit sur la forme et sélectionne Format de la forme automatique
- Onglet Couleurs et Trait. Option Couleur : au bas de la liste déroulante, je choisis Motifs et textures...
- Là, je bricole l'effet souhaité en me servant des options à disposition, puis je valide le tout.
- De retour sur la feuille de calcul, je fais un clic sur la forme dégradée, puis Copier.
- Ensuite je vais dans l'éditeur VBE et dans les propriétés du contrôle Label souhaité, je clique une fois sur Picture, puis je fais Ctrl + V. On se retrouve ainsi avec un beau "bouton" tout neuf !
Cette méthode du copier-coller direct dans la propriété picture, à qui je la dois d'après vous ? A maître Ti bien sûr.
2- Comment obtenir l'effet de bouton enclenché au passage de la souris ?
J'utilise simplement l'évènement
MouseMove() des contrôles Label et je joue cette fois sur leur propriété
SpecialEffect pour donner cet effet de retrait aux boutons.
Enfin, Papynou, pour répondre à ta question, il est évident que la meilleure façon de faire (surtout avec un grand nombres de boutons), serait de passer par un module de classe pour gérer un unique évènement
MouseMove() commun à l'ensemble des Label et faire de même pour l'évènement
Click() d'ailleurs. Mais, à mon avis, il te faudrait déjà une bonne maitrise de VBA avant de mettre en pratique ce type de méthode... Je n'ai d'ailleurs pas la prétention de maîtriser moi-même le sujet, même s'il m'arrive de le pratiquer un peu, et c'est pourquoi, je ne présente habituellement pas cette méthode dans le forum. A toutes fins utiles, si le sujet t'intéresse vraiment, tu trouveras ci-joint un exemple simple d'utilisation d'un module de classe. Fichier issu d'un fil des Archives du Forum auquel j'avais participé il y a quelques temps déjà...
Cordialement,