|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Expert Confirmé
![]() |
bonsoir a tous
je redepose mon userform avec l'effet mouse over et mouse out parfaitement fonctionnel fonction qui est absente en vba le principe: une sub memorise les propriétés des boutons(couleur de fond,couleur du text, fontsize,bold ,italic ) la classe est initialisé et dans le module classe au survol de la souris les couleur du fond et de la caption du bouton s'inversent le texte deviens en majuscule et italic l'orsque on quitte le bouton il redeviens comme avant au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
Il faudrait que tu donnes plus de détails sur le code que tu utilises, et comment cela fonctionne. En effet, les membres du forum qui voudront adapter ta contribution auront du mal s'ils ne comprennent pas ce que tu as fais. Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon ![]() Si vous pensez commencer sans un livre, oublier : livres pour débuter Vous pouvez consulter mes articles sur Access et PowerPoint Le blog Office. Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas. |
|
|
00
|
|
|
#3 | ||||||||
|
Expert Confirmé
![]() |
bonjour philippe jochmans
excuse moi de ne pas avoir répondu plutôt mais j'ai eu beaucoup de boulot d'accord je vais essayer d'en expliquer le fonctionnement tout d'abord dans un module standard on va déclarer les variables nécessaire et avec une boucle sur les contrôles nous allons mémoriser les propriétés des bouton (couleur de fond ,couleur de la captions , et inversion des deux avec la fonction "redim preserve" et en public pour les avoir a dispo dans tout le fichier et a n'importe quel moment ainsi que le module class comme ce qui suit Code :
en suite on fait une petite macro pour les remettre a l'initial a la demande comme ce qui suit toujours pareil en bouclant sur les contrôles en éliminant tout ce qui n'est pas un commandbutton Code :
"memorise couleur suivi de l'object "me" sa evite le besoins de determinr le nom de l'userform ainsi aussi on peut l'utiliser sur nimporte quel userform sans le nommer explicitement Code :
avec ceci:qui va capter les evenement de groupebouton se substituant au bouton eux memes Code :
Public WithEvents GroupeBouton As Msforms.CommandButton comme ci se substitue par exemple a : ainsi on va derminer la valeur de "i" selon le chiffre dans le nom du bouton ce chiffre correspondra au chiffre dans le nom de la propriété enregistrée precedement a partir de la on peut jouer avec ces propriétés comme bon nous semble maintenant il nous faut l'inverse losque l'on sort du bouton et bien la c'est tout simple dans l'enoncé de l'evenement "mousemove" nous avons le Y et X qui nous donne la position de la souris sur le bouton et bien la on y met une condition "si Xest plus petit que " "si x est plus grand que " et pareil pour le Y est des que X ou Y a une certaine valeur on appele la macro init qui remet le bouton a l'initial Code :
veuillez me pardonnr si mon explication est maladroite mais l'auto didacte que je suis a fait de son mieux et je pense que meme si on est debutant les macros sont relativement simples en esperant que ca vous soit utile au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
||||||||
|
|
10
|
|
|
#4 | ||
|
Membre chevronné
![]() Inscription : avril 2008 Messages : 762 ![]() |
Cette partie du code ne sert à rien ...
Code :
facilement si on fait un mouvement rapide avec la souris ... Le code suivant fait la même chose mais fonctionne uniquement sur buttons placées directement sur la fiche... |
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() |
bonjour mentor
oui tu a raison c'est tout simplement parce que j'avais supprimer la caption de l'userform au départ ainsi il me fallait pouvoir le déplacer et j'ai supprimer cette partie pour ne laisser que la partie intéressante sur le sujet voila EDIT: je viens de regarder ton fichier et il est nickel mais un peu lourd a mon goût pour avoir l'effet surtout que c'est une fonction purement ergonomique(estetique) on pourrait aussi puisque tu apprécie te servir des APIS créer des régions avec GDI ou GDIplus et mettre des conditions sur ces régions je vais essayer d'en bricoler un car c'est vrai qu'avec les apis c'est toujours plus rapide au plaisir
__________________
mes fichiers dans les contributions: mon formulaire mail avec CDO en vba et mon formulaire mail avec CDO en vbs dans un HTA mon nouveau mouse in out pour les boutons dans un userform mon addin pour prendre un cliché de selection de cellules si ton problème est résolu n'oublie pas de pointer :résolu:ça peut servir aux autres et n'oublie pas de voter ![]()
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com