Une Alternative à MsgBox()

Résolu/Fermé
Utilisateur anonyme - 30 août 2021 à 08:57
jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 30 août 2021 à 10:06
Bonjour,

Voici, pour les férus de VBA, une alternative à la fameuse boîte de dialogue MsgBox().

Non que cette dernière ne soit pas utile, on est bien content de l'avoir, mais elle ne permet pas tout. Comme par exemple afficher des messages "Furtifs", que s'affichent et disparaissent au bout d'un certain temps, du texte long sur une seule ligne, de la couleur dans le message, des caractères de tailles différentes, des fenêtres plus grandes, etc.

La fonction "Dialogue" proposée ici, remplace la MsgBox(), et permet au développeur de définir ses propres choix pour l'affichage des messages. Ceux-ci sont enregistrés au cœur même de la fonction ; ce qui en simplifie la gestion et permet une utilisation multiple du même message.

La fonction se charge, à partir du message (et de ses paramètres), de préparer le formulaire "Message" (hauteur/largeur), de centrer le message (les labels), de faire apparaître l'image associée et de placer les boutons demandés. Après validation par l'utilisateur final (si validation), elle retourne une valeur correspondant au bouton sélectionné ou un zéro pour signaler un abandon par la touche Echap ou une fermeture du formulaire par la croix.

Exemples d'appel de la fonction :
Var = Dialogue (N° Message, Type de validation)
If Dialogue (N° message, Type de validation) Then …
Select case Dialogue (N° message, Type de validation) …
Etc.


Var : C'est une variable numérique (Byte ou Integer) qui reçoit la réponse (0 à 3).
N° message : C'est le numéro du message défini dans la fonction.
Type de validation : Prend la valeur 0, 1, 2 ou 3 soit :

0 = Message Furtif (passant), celui-ci est affiché sans bouton et après un temps d'attente (1 seconde), la fenêtre disparaît en remontant vers le haut.
1 = Message avec validation par un bouton (Vu par défaut). Après validation, et comme pour la commande 0, la fenêtre disparaît en remontant vers le haut.
2 = Message avec choix de validation sur 2 boutons : Oui et Non (par défaut).
3 = Message avec choix de validation sur 3 boutons : Oui, Non et Abandon (par défaut).

Quelques exemples de messages :





Pour en savoir plus, c'est par ici ...

La méthodologie complète (7 pages)
https://www.cjoint.com/c/KHEg3CQn5u1

Le formulaire et le code de la fonction (prêts à l'emploi)
https://www.cjoint.com/c/KHEgh3bKTA1

Bonne programmation !





Configuration: Windows / Edge 92.0.902.84
A voir également:

1 réponse

jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
Modifié le 30 août 2021 à 10:05
Bonjour,

Alors, le forum sert avant tout à poser des questions.
Pour proposer du code, un lien t'a été donné par Whismeril dans ta précédente question. ...




0
jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
30 août 2021 à 10:06
0