Constante vbInformation inopérante :(

  • Initiateur de la discussion Initiateur de la discussion La braise
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

La braise

XLDnaute Occasionnel
Bonjour à tous,

Je souhaite insérer une constante dans mes messages box pour afficher soit le "?" soit le "!" : vbInformation et vbExclamation.

J'utilise le code suivant :

MsgBox Msg6, vbYes + vbInformation, File_Name_Export

Pas de problème avec les variables, tout s'affiche bien sauf malheuresemnt mon "!" ou mon "?"... 😕

Pourtant je respecte bien la syntaxe...

Est-ce que quelqu'un aurait une idée???

D'avance merci pour votre aide toujours aussi précieuse.
 
Re : Constante vbInformation inopérante 🙁

Salut la Braise, le Forum

Ce matin j'ai répondu à un post demandant des infos sur les MsgBox regardes attentivement le lien nommé Article tu aura certainement ta réponse.

Au pire met nous un bout de ton Fichier

Bonne Journée
 
Re : Constante vbInformation inopérante 🙁

Bonjour Dull,

Merci pour ta réponse.
Je me suis inspiré de cet article pour faire la MsgBox.

Par exemple, si vous voulez obtenir une MsgBox avec les boutons Oui/Non (valeur 4), une icône Question (valeur 32) et le deuxième bouton par défaut (valeur 256), il conviendra de saisir 292 comme argument buttons (soit 4 + 32 + 256).
Mais au lieu de saisir la valeur 292, on peut aussi saisir simplement l'expression vbYesNo + vbQuestion + vbDefaultButton2. Cela revient au même, reste plus pratique et rend surtout votre code plus lisible!​

dans mon code j'ai :
MsgBox Msg6, vbYes + vbInformation, File_Name_Export​

La msgbox s'affiche bien avec le bon texte : MSg6 et le bon titre de la fenêtre : File_Name_Export.

Le seul problème c'est que le logo du "!" ne s'affiche pas...

Quelqu'un a t-il déjà eu ce problème?

D'avance merci.
 
Re : Constante vbInformation inopérante 🙁

Re la Braise

Le M. est de trop 😀

Si tu as bien lu l'article de l'ami Didier🙂 la Constante vbYes est inexistante.
Voila le Pourquoi du Comment

Quoique j'ai essayé vbYesOnly et ça a l'air de Fonctionner. Tu n'auras pas OUI mais toujours Ok

Ahhh...lesmystèresdel'informatique...


Bonne Journée
 
Dernière édition:
Re : Constante vbInformation inopérante 🙁

Bonjour La braise, Dull, le Forum,

Pas de mystère cher ami Dull 🙂

La constante VbOkOnly possède une valeur 0.

VbYes n'existant pas, ni même VbYesOnly, si vous tentez l'utilisation de l'un ou de l'autre, comme pour toute variable indéfinie vous obtiendrez..... une valeur 0 (et donc l'équivalent de VbOkOnly) !

Par contre (et je m'adresse surtout à l'ami La braise cette fois), si vous aviez fait précéder votre code par Option Explicit en tête de module (comme il l'est toujours conseillé), vous auriez immédiatement obtenu l'erreur de compilation "Variable non définie"... qui est toujours une bonne piste à suivre. 😉

Très cordialement,
 
Re : Constante vbInformation inopérante 🙁

Bonjour myDearFriend!,

Cette précision est d'importance...

La question est: pourquoi si VbYes n'existe pas il fonctionne... 😕

Précision realtive à Option Explicit?

il faut l'indiquer avant le nom de la macro ou juste après?

je pense rajouter cette option a toute mes macros.
Son but est (si j'ai bien compris...🙂) de :
- identifier une variable utilisée mais non définie

Merci myDearFriend! et Dull pour votre assistance.
 
Re : Constante vbInformation inopérante 🙁

Re la Braise

Dixit l'aide,... Pascal 😀 et pierrejean 😀 Ici

un petit tour dans l'aide te donne la réponse

Instruction utilisée au niveau module pour imposer la déclaration explicite de toutes les variables de ce module.

Syntaxe

Option Explicit

Remarques

Si elle est utilisée, l'instruction Option Explicit doit apparaître dans un module avant toute procédure.

Si l'instruction Option Explicit apparaît dans un module, vous devez déclarer explicitement toutes les variables à l'aide des instructions Dim, Private, Public, ReDim ou Static. Si vous tentez d'utiliser un nom de variable non déclarée, une erreur se produit à la compilation.

Si vous n'utilisez pas l'instruction Option Explicit, toutes les variables non déclarées sont de type Variant à moins qu'un type par défaut soit précisé à un autre endroit à l'aide d'une instruction Deftype.

Note Utilisez l'instruction Option Explicit pour éviter toute faute de frappe lors de la saisie du nom d'une variable existante ou pour écarter tout risque de confusion dans un code où la portée de la variable n'apparaît pas clairement.
EDITION: la remarque de Didier est tout à fait justifiée mais je viens de changer de portable et impossible de remettre la main sur l'obligation de mettre Option Explicit dans VBA à la création de nouveaux Modules 😱

Mais je trouverais... I'll be back😉

Re Edith: j'ai trouvé:

Alt+F11

Outils/Option
Cocher --> Déclaration des Variables Obligatoire

Et Voila 😎

Bonne Journée
 
Dernière édition:
Re : Constante vbInformation inopérante 🙁

Bonjour à tous,

je vous précise simplement que vbYes existe, mais pas pour la mettre dans les arguments de Msgbox mais pour tester si c'est bien le bouton Oui qui a été cliqué.
VbOKOnly vaut 0 comme vous l'avez précisé
vbYes vaut 6

évidement, ça ne fait pas le même total 🙂

Pour Option Explicit : il doit figurer en haut de chaque Module, et sera mis en place pour tout nouveau module si vous allez dans :
Menu Outils-Options
Onglet Editeur
cocher Déclaration des variables obligatoires
 
Dernière édition:
Re : Constante vbInformation inopérante 🙁

Bonjour à tous,

je vous précise simplement que vbYes existe, mais pas pour la mettre dans les arguments de Msgbox mais pour tester si c'est bien le bouton Oui qui a été cliqué.
VbOKOnly vaut 0 comme vous l'avez précisé
vbYes vaut 6

Bonjour

Attention avec les valeurs de msgbox il y a 2 valeurs
la valeur arguments de la msgbox et la valeur renvoyée par la msgbox lors du click
et ces 2 valeurs n'ont rien à voir
Vbyes vaut bien 6 mais en valeur renvoyée mais la valeur 6 n'existe pas en valeur argument

De même la valeur 1 c'est vbokcancel en valeur argument alors que c'est vbok en valeur renvoyée

Un petit tour dans l'aide à l'entrée msgbox et vous aurez toutes les valeurs

Edit : Sinon mon intervention me permettait aussi de me retrouver sur un même fil que Didier et cela me faisait plaisir de le recroiser sur un fil car cela faisait un bail 😎
 
Dernière édition:
Re : Constante vbInformation inopérante 🙁

PascalXLD (le chef 🙂), tototiti2008, Dull, myDearFriend, et le forum

Pour résumer :
avec les message box on a :
- la valeur de l'argument qui permet de l'appeler sans indiquer son nom complet
- la valeur retournée par l'argument en question

Merci à tous pour vos participations et solutions à ma question...

La braise
 
Re : Constante vbInformation inopérante 🙁

Bonjour tototiti2008, PascalXLD,

Sinon mon intervention me permettait aussi de me retrouver sur un même fil que Didier et cela me faisait plaisir de le recroiser sur un fil car cela faisait un bail 😎
Le plaisir est pour moi cher ami Pascal 🙂
Effectivement, on n'a que trop rarement l'occasion de se croiser.

Bien amicalement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
1 K
A
Réponses
10
Affichages
2 K
Ayuri
A
T
Réponses
10
Affichages
2 K
traputaca
T
G
  • Question Question
Réponses
0
Affichages
780
Grupinette
G
J
Réponses
2
Affichages
3 K
journeydo
J
T
Réponses
3
Affichages
8 K
tsikoudia91
T
S
Réponses
3
Affichages
1 K
Compte Supprimé 979
C
J
Réponses
13
Affichages
3 K
J
Retour