Msgbox avec saisie de quantite?
john
-
Canard007 Messages postés 5931 Date d'inscription Statut Contributeur Dernière intervention -
Canard007 Messages postés 5931 Date d'inscription Statut Contributeur Dernière intervention -
salut,
je voudrais inserer dans mon code VB une boite de dialogue msgbox qui me demanderai si oui ou non je veux valider et si oui quelle quantite... est ce possible?
merci d'avance
(c'est assez urgent)
je voudrais inserer dans mon code VB une boite de dialogue msgbox qui me demanderai si oui ou non je veux valider et si oui quelle quantite... est ce possible?
merci d'avance
(c'est assez urgent)
A voir également:
- Msgbox avec saisie de quantite?
- Saisie gestuelle iphone - Guide
- Saisie vocale whatsapp - Accueil - Messagerie instantanée
- Saisie vocale sms - Guide
- Gboard saisie vocale - Accueil - Applications & Logiciels
- Liste deroulante excel avec saisie semi-automatique - Guide
4 réponses
Une drôle de bete : la fonction MsgBox
Comment envoyer facilement des informations à l’utilisateur ? La réponse à cette question qui vous taraude se trouve dans les lignes qui suivent.
Bien sûr, si vous souhaitez envoyer des messages riches, compliqués et/ou présentés d’une manière originale, la seule solution reste de programmer des Form correspondant à vos souhaits et de passer les instructions VB nécessaires pour qu’elles contiennent les informations voulues.
Mais si votre seule ambition, à un moment donné d’une application, est d’envoyer un message à l’utilisateur qui se limite à un texte, ou à un chiffre, ou même à une combinaison des deux, avec comme seuls boutons possibles un bouton OK, Annuler, etc., alors VB met à votre disposition la fonction MsgBox.
Vous pourrez ainsi à moindre frais envoyer à l’écran des mini-boîtes de dialogue d’un type bien connu par tous les utilisateurs de Windows, du style :
L’originalité de la chose, qui peut quelque peu dérouter au début, est donc que l’on passe par une fonction pour exécuter quelque chose qui ressemble à une instruction Ecrire en algorithmique. Mais, en réalité, le paradoxe n’en est pas un. Car une petite boîte de dialogue comme celle présentée ci-dessus, si elle envoie bel et bien un message à l’utilisateur, récupère également une réponse de cet utilisateur (sur quel bouton a-t-il appuyé). Dès lors, on se dit que quelque chose qui comporte plusieurs paramètres en entrée et une valeur en sortie, a toutes les chances d’être considéré comme une fonction par un langage… CQFD !
La syntaxe de la fonction MsgBox est :
MsgBox comporte donc trois arguments essentiels :
le texte du message à envoyer (texte1)
le style des boutons et de l’icône éventuelle à faire figurer sur le message (integer)
le texte de la barre de titre (texte2)
En ce qui concerne les deux arguments de type texte, aucun problème. En revanche, le deuxième argument, de type Integer, mérite qu’on s’y arrête. Cet Entier (Integer) va donc avoir pour rôle de spécifier tout à la fois le type d’icône employée dans la boîte de message, et l’échantillon des boutons proposés à l’utilisateur. Toutefois, cet argument peut être spécifié de deux manières qu’il convient de connaître :
Chaque possibilité d’icône ou de boutons est associée à un nombre entier (voir l’Aide du logiciel). Pour obtenir la combinaison voulue, il suffit d’additionner les nombres correspondants, et c’est cette somme qui sera le deuxième argument.
Mais il existe une autre façon de spécifier cet argument : elle consiste à employer des Constantes VB. Ces Constantes VB sont des mots réservés du langage, qui sont traduits par le compilateur en nombre entiers. Du point de vue du résultat, cette solution est donc strictement équivalente à la précédente, consistant à entrer directement des nombres. En revanche, certains programmeurs la préféreront en raison de la plus grande lisibilité qu’elle introduit dans le code. Ces Constantes VB ne s’inventent pas ! Elles figurent dans l’Aide du logiciel, et c’est là qu’il faut les chercher…
A titre d’illustration, la boîte de dialogue située au-dessus pourrait être indifféremment programmée avec :
Tout cela n’épuise pas la question de la valeur renvoyée par la fonction MsgBox, valeur qui va donc se retrouver dans la variable Toto. On a vu que cette valeur correspondait au bouton sur lequel l'utilisateur aura appuyé pour clore cette boîte de message.
On pourra donc tester la valeur de la variable Toto pour déterminer quel était ce bouton (s'il y en avait plus d'un, évidemment…).
Ce test peut-être mené soit sous l'angle d'une valeur entière, soit sous celui d'une constante VB, les renseignements se trouvant dans l'Aide. En l'occurrence, on pourrait avoir à la suite du code précédent des lignes du genre :
Utilisation des valeurs entières :
En résumé, MsgBox est une fonction qui vous donne accès à un type de Form préprogrammé, aux fonctionnalités limitées, mais à la programmation très rapide.
La seule exception à tout ce qui précède concerne l'utilisation de MsgBox avec toutes les options par défaut : pas d'icônes, juste un bouton OK, et juste un message (pas de titre). La syntaxe peut être alors considérablement simplifiée pour donner :
…Qui affechera la valeur de la variable Truc dans une boîte. Si cette utilisation de MsgBox produit un résultat nettement trop grunge pour figurer dans un produit fini, elle peut s'avérer très pratique pour effectuer certains déboguages (j'en fais personnellement une consommation immodérée).
Comment envoyer facilement des informations à l’utilisateur ? La réponse à cette question qui vous taraude se trouve dans les lignes qui suivent.
Bien sûr, si vous souhaitez envoyer des messages riches, compliqués et/ou présentés d’une manière originale, la seule solution reste de programmer des Form correspondant à vos souhaits et de passer les instructions VB nécessaires pour qu’elles contiennent les informations voulues.
Mais si votre seule ambition, à un moment donné d’une application, est d’envoyer un message à l’utilisateur qui se limite à un texte, ou à un chiffre, ou même à une combinaison des deux, avec comme seuls boutons possibles un bouton OK, Annuler, etc., alors VB met à votre disposition la fonction MsgBox.
Vous pourrez ainsi à moindre frais envoyer à l’écran des mini-boîtes de dialogue d’un type bien connu par tous les utilisateurs de Windows, du style :
L’originalité de la chose, qui peut quelque peu dérouter au début, est donc que l’on passe par une fonction pour exécuter quelque chose qui ressemble à une instruction Ecrire en algorithmique. Mais, en réalité, le paradoxe n’en est pas un. Car une petite boîte de dialogue comme celle présentée ci-dessus, si elle envoie bel et bien un message à l’utilisateur, récupère également une réponse de cet utilisateur (sur quel bouton a-t-il appuyé). Dès lors, on se dit que quelque chose qui comporte plusieurs paramètres en entrée et une valeur en sortie, a toutes les chances d’être considéré comme une fonction par un langage… CQFD !
La syntaxe de la fonction MsgBox est :
Variable = MsgBox (texte1, integer, texte2, ... )
MsgBox comporte donc trois arguments essentiels :
le texte du message à envoyer (texte1)
le style des boutons et de l’icône éventuelle à faire figurer sur le message (integer)
le texte de la barre de titre (texte2)
En ce qui concerne les deux arguments de type texte, aucun problème. En revanche, le deuxième argument, de type Integer, mérite qu’on s’y arrête. Cet Entier (Integer) va donc avoir pour rôle de spécifier tout à la fois le type d’icône employée dans la boîte de message, et l’échantillon des boutons proposés à l’utilisateur. Toutefois, cet argument peut être spécifié de deux manières qu’il convient de connaître :
Chaque possibilité d’icône ou de boutons est associée à un nombre entier (voir l’Aide du logiciel). Pour obtenir la combinaison voulue, il suffit d’additionner les nombres correspondants, et c’est cette somme qui sera le deuxième argument.
Mais il existe une autre façon de spécifier cet argument : elle consiste à employer des Constantes VB. Ces Constantes VB sont des mots réservés du langage, qui sont traduits par le compilateur en nombre entiers. Du point de vue du résultat, cette solution est donc strictement équivalente à la précédente, consistant à entrer directement des nombres. En revanche, certains programmeurs la préféreront en raison de la plus grande lisibilité qu’elle introduit dans le code. Ces Constantes VB ne s’inventent pas ! Elles figurent dans l’Aide du logiciel, et c’est là qu’il faut les chercher…
A titre d’illustration, la boîte de dialogue située au-dessus pourrait être indifféremment programmée avec :
Texte = "Enregistrer les modifications (...) ?" Titre = "Microsoft FrontPage" Utilisation des valeurs entières : Toto = MsgBox ( Texte, 51, Titre ) Utilisation des constantes VB : Toto = MsgBox (Texte, vbExclamation + vbYesNoCancel, Titre)
Tout cela n’épuise pas la question de la valeur renvoyée par la fonction MsgBox, valeur qui va donc se retrouver dans la variable Toto. On a vu que cette valeur correspondait au bouton sur lequel l'utilisateur aura appuyé pour clore cette boîte de message.
On pourra donc tester la valeur de la variable Toto pour déterminer quel était ce bouton (s'il y en avait plus d'un, évidemment…).
Ce test peut-être mené soit sous l'angle d'une valeur entière, soit sous celui d'une constante VB, les renseignements se trouvant dans l'Aide. En l'occurrence, on pourrait avoir à la suite du code précédent des lignes du genre :
Utilisation des valeurs entières :
If Toto = 6 Then ' enregistrement Elseif Toto = 7 Then ' pas d'enregistrement Else ' annulation EndIf Utilisation des constantes VB : If Toto = VbYes Then ' enregistrement Elseif Toto = VbNo Then ' pas d'enregistrement Else ' annulation EndIf
En résumé, MsgBox est une fonction qui vous donne accès à un type de Form préprogrammé, aux fonctionnalités limitées, mais à la programmation très rapide.
La seule exception à tout ce qui précède concerne l'utilisation de MsgBox avec toutes les options par défaut : pas d'icônes, juste un bouton OK, et juste un message (pas de titre). La syntaxe peut être alors considérablement simplifiée pour donner :
MsgBox Truc
…Qui affechera la valeur de la variable Truc dans une boîte. Si cette utilisation de MsgBox produit un résultat nettement trop grunge pour figurer dans un produit fini, elle peut s'avérer très pratique pour effectuer certains déboguages (j'en fais personnellement une consommation immodérée).
tout est possible....
boucle
utilisateur fait la saisie..
fin saisie detecté (style entrée ou autre)
afficahge mesage box
si ok on sort boucle sinon on recommence...
boucle
utilisateur fait la saisie..
fin saisie detecté (style entrée ou autre)
afficahge mesage box
si ok on sort boucle sinon on recommence...
ouais, je te remercie de repondre aussi vite mais pourrais tu etre plus clair (en m'indiquant le code par exemple...)
merci beaucoup
merci beaucoup
mais le probleme est que je n'en ai aucune idee...
merci encore pour tes explications