Fonction Msgbox

Le
Michel Tafaro
Bonjour à tous,

Est-il possible de placer où on veut sur l'écran, le message qui est affiché
avec Msqbox (comme avec InputBox) ?

Merci pour votre aide

Michel T
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #18510831
Idée originale publiée ici par Michel Perron.

http://cjoint.com/?bEnUZAS2Ta




"Michel Tafaro" : 4980481a$0$28671$

Bonjour à tous,

Est-il possible de placer où on veut sur l'écran, le message qui est affiché
avec Msqbox (comme avec InputBox) ?

Merci pour votre aide

Michel T
LE TROLL
Le #18510801
Bonjour,

Je crois bien que non ? Ou alors avec les API (il me semble avoir lu
ça)...

Mais tu peux utiliser un form (userform) comme message box, c'est bien
plus souple...

Voici ce que dit l'aide VB6 sur les MsgBox :

_____________________
Affiche un message dans une boîte de dialogue, attend que l'utilisateur
clique sur un bouton, puis renvoie une valeur de type Integer qui indique le
bouton choisi par l'utilisateur.

Syntaxe

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

La syntaxe de la fonction MsgBox comprend lesarguments nommés suivants :

Élément Description
prompt Expression de chaîne affichée comme message dans la boîte de
dialogue. La longueur maximale de l'argument prompt est d'environ 1 024
caractères selon la largeur des caractères utilisés. Si l'argument prompt
occupe plus d'une ligne, n'oubliez pas d'insérer un retour chariot (Chr(13))
ou un saut de ligne (Chr(10)) entre les lignes, ou une combinaison de
caractères retour chariot-saut de ligne (Chr(13) & Chr(10)).
buttons Facultatif.Expression numérique qui représente la somme des
valeurs indiquant le nombre et le type de boutons à afficher, le style
d'icône à utiliser, l'identité du bouton par défaut, ainsi que la modalité
du message. Si l'argument buttons est omis, sa valeur par défaut est 0.
title Facultatif. Expression de chaîne affichée dans la barre de titre
de la boîte de dialogue. Si l'argument title est omis, le nom de
l'application est placé dans la barre de titre.
helpfile Facultatif. Expression de chaîne indiquant le fichier d'aide
à utiliser pour fournir une aide contextuelle sur la boîte de dialogue. Si
l'argument helpfile est défini, l'argument context doit l'être également.
context Facultatif. Expression indiquant le numéro de contexte
attribué par l'auteur de l'aide à la rubrique appropriée. Si l'argument
context est défini, l'argument helpfile doit l'être également.


Valeurs

L'argument buttons prend les valeurs suivantes :

Constant Value Description
vbOKOnly 0 Affiche le bouton OK uniquement.
vbOKCancel 1 Affiche les boutons OK et Annuler.
vbAbortRetryIgnore 2 Affiche le bouton Abandonner, Réessayer et
Ignorer.
vbYesNoCancel 3 Affiche les boutons Oui, Non et Annuler.
vbYesNo 4 Affiche les boutons Oui et Non.
vbRetryCancel 5 Affiche les boutons Réessayer et Annuler.
vbCritical 16 Affiche l'icône Message critique.
vbQuestion 32 Affiche l'icône Requête d'avertissement.
vbExclamation 48 Affiche l'icône Message d'avertissement.
vbInformation 64 Affiche l'icône Message d'information.
vbDefaultButton1 0 Le premier bouton est le bouton par défaut.
vbDefaultButton2 256 Le deuxième bouton est le bouton par défaut.
vbDefaultButton3 512 Le troisième bouton est le bouton par défaut.
vbDefaultButton4 768 Le quatrième bouton est le bouton par défaut.
vbApplicationModal 0 Boîte de dialogue modale. L'utilisateur doit
répondre au message affiché dans la zone de message avant de pouvoir
continuer de travailler dans l'application en cours.
vbSystemModal 4096 Modal système. Toutes les applications sont
interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans la
zone de message.
vbMsgBoxHelpButton 16384 Ajoute le bouton Aide à la zone de message.
VbMsgBoxSetForeground 65536 Indique la fenêtre de zone de message
comme fenêtre de premier plan.
vbMsgBoxRight 524288 Le teste est aligné à droite.
vbMsgBoxRtlReading 1048576 Indique que le texte doit apparaître de
droite à gauche sur les systèmes hébraïques et arabes.


Le premier groupe de valeurs (0 à 5) décrit le nombre et le type de boutons
affichés dans la boîte de dialogue. Le deuxième groupe (16, 32, 48 et 64)
décrit le style d'icône. Le troisième groupe (0, 256 et 512) définit le
bouton par défaut. Enfin, le quatrième groupe (0 et 4 096) détermine la
modalité de la zone de message. Au moment d'additionner ces nombres pour
obtenir la valeur finale de l'argument buttons, ne sélectionnez qu'un seul
nombre dans chaque groupe.

Note Cesconstantes sont indiquées par Visual Basic pour Applications. Vous
pouvez par conséquent les utiliser n'importe où dans votre code à la place
des valeurs réelles correspondantes.

Valeurs renvoyées

Constante Valeur Description
vbOK 1 OK
vbCancel 2 Annuler
vbAbort 3 Abandonner
vbRetry 4 Réessayer
vbIgnore 5 Ignorer
vbYes 6 Oui
vbNo 7 Non


Remarques

Lorsque les deux arguments helpfile et context sont définis, l'utilisateur
peut appuyer sur F1 pour afficher la rubrique d'aide correspondant à
l'argument context. Certainesapplications hôtes, Microsoft Excel par
exemple, peuvent ajouter automatiquement un bouton Aide à la boîte de
dialogue.

Si la boîte de dialogue est dotée d'un bouton Annuler, appuyer sur Échap
équivaut à cliquer sur Annuler. Si la boîte de dialogue contient un bouton
Aide, cela signifie qu'une aide contextuelle relative à la boîte de dialogue
est disponible. Toutefois, aucune valeur n'est renvoyée tant que
l'utilisateur n'a pas cliqué sur l'un des autres boutons.

Note Si vous souhaitez préciser plus d'informations que celles fournies
par le premier argument nommé, vous devez utiliser la fonction MsgBox dans
uneexpression. Si vous voulez omettre certainsarguments de position, vous
devez quand même placer la virgule de séparation correspondante.

______________________________________

Cordialement :o)

--
Logiciels, romans, contacts : http://irolog.free.fr



"Michel Tafaro" news:4980481a$0$28671$

Bonjour à tous,

Est-il possible de placer où on veut sur l'écran, le message qui est
affiché
avec Msqbox (comme avec InputBox) ?

Merci pour votre aide

Michel T




michdenis
Le #18511041
Tu as aussi quelque chose comme ceci :
(du même auteur que le message précécent)

'Remplace les valeurs 50 par tes propres valeurs.
'Dans un module Standard, API dans le haut du module.

Private Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Long) As Long
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx Lib "user32" Alias _
"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long _
, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long _
, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long _
, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private lgHook As Long

'----------------------------------------
Sub Positionned_MsgBox()
lgHook = SetWindowsHookEx(&H5, AddressOf WinProc, 0, GetCurrentThreadId)
MsgBox "Special msgbox !", 64
End Sub
'----------------------------------------

Private Function WinProc(ByVal lMsg As Long, ByVal wParam As Long) As Long
If lMsg = 5 Then
SetWindowPos wParam, 0, 50, 50, 0, 0, &H15
UnhookWindowsHookEx lgHook
End If
WinProc = False
End Function




"michdenis"
Idée originale publiée ici par Michel Perron.

http://cjoint.com/?bEnUZAS2Ta




"Michel Tafaro" : 4980481a$0$28671$

Bonjour à tous,

Est-il possible de placer où on veut sur l'écran, le message qui est affiché
avec Msqbox (comme avec InputBox) ?

Merci pour votre aide

Michel T
Michel Tafaro
Le #18512831
Merci encore, quand j'aurai 2 mn, je me pencherai sur le cas

"michdenis" news:
Tu as aussi quelque chose comme ceci :
(du même auteur que le message précécent)

'Remplace les valeurs 50 par tes propres valeurs.
'Dans un module Standard, API dans le haut du module.

Private Declare Function UnhookWindowsHookEx Lib "user32" _
(ByVal hHook As Long) As Long
Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long
Private Declare Function SetWindowsHookEx Lib "user32" Alias _
"SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long _
, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long _
, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long _
, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private lgHook As Long

'----------------------------------------
Sub Positionned_MsgBox()
lgHook = SetWindowsHookEx(&H5, AddressOf WinProc, 0, GetCurrentThreadId)
MsgBox "Special msgbox !", 64
End Sub
'----------------------------------------

Private Function WinProc(ByVal lMsg As Long, ByVal wParam As Long) As Long
If lMsg = 5 Then
SetWindowPos wParam, 0, 50, 50, 0, 0, &H15
UnhookWindowsHookEx lgHook
End If
WinProc = False
End Function




"michdenis"

discussion :

Idée originale publiée ici par Michel Perron.

http://cjoint.com/?bEnUZAS2Ta




"Michel Tafaro"

groupe de discussion
: 4980481a$0$28671$

Bonjour à tous,

Est-il possible de placer où on veut sur l'écran, le message qui est


affiché
avec Msqbox (comme avec InputBox) ?

Merci pour votre aide

Michel T



Michel Tafaro
Le #18512821
Je ne connais pas les userforms, mais merci qd même

"LE TROLL" news:
Bonjour,

Je crois bien que non ? Ou alors avec les API (il me semble avoir lu
ça)...

Mais tu peux utiliser un form (userform) comme message box, c'est bien
plus souple...

Voici ce que dit l'aide VB6 sur les MsgBox :

_____________________
Affiche un message dans une boîte de dialogue, attend que l'utilisateur
clique sur un bouton, puis renvoie une valeur de type Integer qui indique


le
bouton choisi par l'utilisateur.

Syntaxe

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

La syntaxe de la fonction MsgBox comprend lesarguments nommés suivants :

Élément Description
prompt Expression de chaîne affichée comme message dans la boîte de
dialogue. La longueur maximale de l'argument prompt est d'environ 1 024
caractères selon la largeur des caractères utilisés. Si l'argument prompt
occupe plus d'une ligne, n'oubliez pas d'insérer un retour chariot


(Chr(13))
ou un saut de ligne (Chr(10)) entre les lignes, ou une combinaison de
caractères retour chariot-saut de ligne (Chr(13) & Chr(10)).
buttons Facultatif.Expression numérique qui représente la somme des
valeurs indiquant le nombre et le type de boutons à afficher, le style
d'icône à utiliser, l'identité du bouton par défaut, ainsi que la modalité
du message. Si l'argument buttons est omis, sa valeur par défaut est 0.
title Facultatif. Expression de chaîne affichée dans la barre de


titre
de la boîte de dialogue. Si l'argument title est omis, le nom de
l'application est placé dans la barre de titre.
helpfile Facultatif. Expression de chaîne indiquant le fichier


d'aide
à utiliser pour fournir une aide contextuelle sur la boîte de dialogue. Si
l'argument helpfile est défini, l'argument context doit l'être également.
context Facultatif. Expression indiquant le numéro de contexte
attribué par l'auteur de l'aide à la rubrique appropriée. Si l'argument
context est défini, l'argument helpfile doit l'être également.


Valeurs

L'argument buttons prend les valeurs suivantes :

Constant Value Description
vbOKOnly 0 Affiche le bouton OK uniquement.
vbOKCancel 1 Affiche les boutons OK et Annuler.
vbAbortRetryIgnore 2 Affiche le bouton Abandonner, Réessayer et
Ignorer.
vbYesNoCancel 3 Affiche les boutons Oui, Non et Annuler.
vbYesNo 4 Affiche les boutons Oui et Non.
vbRetryCancel 5 Affiche les boutons Réessayer et Annuler.
vbCritical 16 Affiche l'icône Message critique.
vbQuestion 32 Affiche l'icône Requête d'avertissement.
vbExclamation 48 Affiche l'icône Message d'avertissement.
vbInformation 64 Affiche l'icône Message d'information.
vbDefaultButton1 0 Le premier bouton est le bouton par défaut.
vbDefaultButton2 256 Le deuxième bouton est le bouton par défaut.
vbDefaultButton3 512 Le troisième bouton est le bouton par défaut.
vbDefaultButton4 768 Le quatrième bouton est le bouton par défaut.
vbApplicationModal 0 Boîte de dialogue modale. L'utilisateur doit
répondre au message affiché dans la zone de message avant de pouvoir
continuer de travailler dans l'application en cours.
vbSystemModal 4096 Modal système. Toutes les applications sont
interrompues jusqu'à ce que l'utilisateur réponde au message affiché dans


la
zone de message.
vbMsgBoxHelpButton 16384 Ajoute le bouton Aide à la zone de message.
VbMsgBoxSetForeground 65536 Indique la fenêtre de zone de message
comme fenêtre de premier plan.
vbMsgBoxRight 524288 Le teste est aligné à droite.
vbMsgBoxRtlReading 1048576 Indique que le texte doit apparaître de
droite à gauche sur les systèmes hébraïques et arabes.


Le premier groupe de valeurs (0 à 5) décrit le nombre et le type de


boutons
affichés dans la boîte de dialogue. Le deuxième groupe (16, 32, 48 et 64)
décrit le style d'icône. Le troisième groupe (0, 256 et 512) définit le
bouton par défaut. Enfin, le quatrième groupe (0 et 4 096) détermine la
modalité de la zone de message. Au moment d'additionner ces nombres pour
obtenir la valeur finale de l'argument buttons, ne sélectionnez qu'un seul
nombre dans chaque groupe.

Note Cesconstantes sont indiquées par Visual Basic pour Applications.


Vous
pouvez par conséquent les utiliser n'importe où dans votre code à la place
des valeurs réelles correspondantes.

Valeurs renvoyées

Constante Valeur Description
vbOK 1 OK
vbCancel 2 Annuler
vbAbort 3 Abandonner
vbRetry 4 Réessayer
vbIgnore 5 Ignorer
vbYes 6 Oui
vbNo 7 Non


Remarques

Lorsque les deux arguments helpfile et context sont définis, l'utilisateur
peut appuyer sur F1 pour afficher la rubrique d'aide correspondant à
l'argument context. Certainesapplications hôtes, Microsoft Excel par
exemple, peuvent ajouter automatiquement un bouton Aide à la boîte de
dialogue.

Si la boîte de dialogue est dotée d'un bouton Annuler, appuyer sur Échap
équivaut à cliquer sur Annuler. Si la boîte de dialogue contient un bouton
Aide, cela signifie qu'une aide contextuelle relative à la boîte de


dialogue
est disponible. Toutefois, aucune valeur n'est renvoyée tant que
l'utilisateur n'a pas cliqué sur l'un des autres boutons.

Note Si vous souhaitez préciser plus d'informations que celles fournies
par le premier argument nommé, vous devez utiliser la fonction MsgBox dans
uneexpression. Si vous voulez omettre certainsarguments de position, vous
devez quand même placer la virgule de séparation correspondante.

______________________________________

Cordialement :o)

--
Logiciels, romans, contacts : http://irolog.free.fr



"Michel Tafaro" news:4980481a$0$28671$
>
> Bonjour à tous,
>
> Est-il possible de placer où on veut sur l'écran, le message qui est
> affiché
> avec Msqbox (comme avec InputBox) ?
>
> Merci pour votre aide
>
> Michel T
>
>



Publicité
Poster une réponse
Anonyme