[VBA] Type d'une variable réponse de msgbox
Fermé
Lazarey
Messages postés
3239
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
21 mai 2012
-
25 mai 2009 à 09:27
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 mai 2009 à 20:49
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 mai 2009 à 20:49
A voir également:
- Msgbox vba variable
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Find vba - Astuces et Solutions
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
13 réponses
yg_be
Messages postés
23485
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mars 2025
Ambassadeur
1 569
25 mai 2009 à 09:38
25 mai 2009 à 09:38
integer
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
30 mai 2009 à 17:53
30 mai 2009 à 17:53
Bonjour
X est un tyupe "long" que l'on inscrive "vbOK" ou 0 car vbOK est une constante de valeur 0
Ci joint tableau Word avec les valeurs
https://www.cjoint.com/?fErSCp8PYt
Petite astuce si on hésite sur le type d'une variable( hésiter, je sais bien faire...)
avant de mettre en option Explicit:
sélectionner la variable (par ex "x") et debogage sélectionner un espion
faire la macro en pas à pas (F8)
le statut de "x" va passer de variant à long.
X est un tyupe "long" que l'on inscrive "vbOK" ou 0 car vbOK est une constante de valeur 0
Ci joint tableau Word avec les valeurs
https://www.cjoint.com/?fErSCp8PYt
Petite astuce si on hésite sur le type d'une variable( hésiter, je sais bien faire...)
avant de mettre en option Explicit:
sélectionner la variable (par ex "x") et debogage sélectionner un espion
faire la macro en pas à pas (F8)
le statut de "x" va passer de variant à long.
yg_be
Messages postés
23485
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mars 2025
1 569
30 mai 2009 à 20:43
30 mai 2009 à 20:43
et avec option explicit, si on déclare la variable sans type, cela ne permet-il pas de "découvrir" le type à l'éxécution ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
>
yg_be
Messages postés
23485
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 mars 2025
30 mai 2009 à 20:49
30 mai 2009 à 20:49
oui, tout à fait, tu as raison. C'est une mauvaise habitude de ma part!
(je fais souvent des variables "test" provisoires lors de l'élaboration et j'ai la flemme de déclarer pour une durée de vie provisoire)
Bon Dimanche
(je fais souvent des variables "test" provisoires lors de l'élaboration et j'ai la flemme de déclarer pour une durée de vie provisoire)
Bon Dimanche
Bonjour
C'est écrit dans l'aide de VBA. Mets le curseur sur le mot Msgbox dans ton programme, et appuie sur la touche F1.
C'est écrit dans l'aide de VBA. Mets le curseur sur le mot Msgbox dans ton programme, et appuie sur la touche F1.
DarkAurora
Messages postés
417
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2013
27
25 mai 2009 à 09:40
25 mai 2009 à 09:40
tu peut mettre bool ou alors string aussi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lazarey
Messages postés
3239
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
21 mai 2012
745
25 mai 2009 à 11:39
25 mai 2009 à 11:39
Ok, merci les gars, j'essaye.
blux
Messages postés
26707
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
12 mars 2025
3 331
25 mai 2009 à 12:03
25 mai 2009 à 12:03
Salut,
ça renvoie un numérique.
ça renvoie un numérique.
DarkAurora
Messages postés
417
Date d'inscription
lundi 26 novembre 2007
Statut
Membre
Dernière intervention
21 janvier 2013
27
25 mai 2009 à 13:43
25 mai 2009 à 13:43
et un string peut très bien stocké un numérique, et les bool il ne met pas d'erreur mais je suis d'accord ça ne sert à rien
théoriquement tu n'a même pas a déclarer cette variable ! eh oui !!!
Sub Va_t_il_bien ()
rep = msgbox("Allez-vous bien ?",vbyesno,"Ca va ?")
If rep = VbYes Then
x = MsgBox ("Moi aussi !",VbOKOnly,"Et moi !")
Else If rep = VbNo Then
x2 = Msgbox ("Moi non plus !",VbOKOnly,"Et moi !")
tu vera ça marche très bien !!!
Sub Va_t_il_bien ()
rep = msgbox("Allez-vous bien ?",vbyesno,"Ca va ?")
If rep = VbYes Then
x = MsgBox ("Moi aussi !",VbOKOnly,"Et moi !")
Else If rep = VbNo Then
x2 = Msgbox ("Moi non plus !",VbOKOnly,"Et moi !")
tu vera ça marche très bien !!!
Lazarey
Messages postés
3239
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
21 mai 2012
745
29 mai 2009 à 19:35
29 mai 2009 à 19:35
Salut,
Oui, mais moi je met toujours 'option explicit' en début de mes procédures. Donc je dois tout déclarer. Ca évite de chercher des heures quand on fait une erreur en écrivant le nom des variables dans le programme.
Oui, mais moi je met toujours 'option explicit' en début de mes procédures. Donc je dois tout déclarer. Ca évite de chercher des heures quand on fait une erreur en écrivant le nom des variables dans le programme.
Ah ok pas de probleme !
Je pense qu'integer suffit car VbOK = 1 et VbNo = 0c (je ne suis pas sur du chiffre mais ça renvoie un nombre !)
ALors bonne continuation !
Je pense qu'integer suffit car VbOK = 1 et VbNo = 0c (je ne suis pas sur du chiffre mais ça renvoie un nombre !)
ALors bonne continuation !
Lazarey
Messages postés
3239
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
21 mai 2012
745
30 mai 2009 à 17:37
30 mai 2009 à 17:37
Enfait, je sais pas car il y a aussi les "vbcancel", et autres.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 312
30 mai 2009 à 19:22
30 mai 2009 à 19:22
Excusez moi je m'étais trompé de tableau :#p
https://www.cjoint.com/?fEtEJHhpBJ
vbOk=1 !!!!
pour des raisons de maintenance la constante est plus lisible que le nombre.
https://www.cjoint.com/?fEtEJHhpBJ
vbOk=1 !!!!
pour des raisons de maintenance la constante est plus lisible que le nombre.