J'ai déclaré une constante booléenne dans une procédure mais quand je change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Quetzalcoatl
Bonsoir,
exemple avec une constante TOTO de valeur "toto" : Public Const TOTO as String = "toto"
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Bonsoir,
exemple avec une constante TOTO de valeur "toto" :
Public Const TOTO as String = "toto"
"Olgga" <patrice.triquet@free.fr> a écrit dans le message de news:
%23FN5nF$jGHA.2200@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je
change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
exemple avec une constante TOTO de valeur "toto" : Public Const TOTO as String = "toto"
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Olgga
Merci mais il y a une erreur de compilation entre Public et Const !
"Quetzalcoatl" a écrit dans le message de news:449073b1$0$990$
Bonsoir,
exemple avec une constante TOTO de valeur "toto" : Public Const TOTO as String = "toto"
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Merci mais il y a une erreur de compilation entre Public et Const !
"Quetzalcoatl" <quetzalHIHIHIcoatl@free.fr.invalid> a écrit dans le message
de news:449073b1$0$990$ba4acef3@news.orange.fr...
Bonsoir,
exemple avec une constante TOTO de valeur "toto" :
Public Const TOTO as String = "toto"
"Olgga" <patrice.triquet@free.fr> a écrit dans le message de news:
%23FN5nF$jGHA.2200@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je
change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Merci mais il y a une erreur de compilation entre Public et Const !
"Quetzalcoatl" a écrit dans le message de news:449073b1$0$990$
Bonsoir,
exemple avec une constante TOTO de valeur "toto" : Public Const TOTO as String = "toto"
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Pierre Fauconnier
Bonsoir
Attention, une constante n'est pas une variable... car une variable constante ne varie pas beaucoup, et une constante variabe est ...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu as de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes "option...". Dans ce cas, la variable est disponible pour toutes les procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean ou private MaVariable as boolean pour une variable privée dont la portée est limitée au module dans lequel tu la déclares
Public MaVariable as boolean pour la rendre disponible pour tous les modules et modules de classe. ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module de classe, de userform, de feuille ou de classeur. Dans ce cas, la variable devient une "pseudo propriété" de l'objet... ( Simple, non ??? ;-) )
Exemple
Option Explicit Dim MaVariable as boolean
Sub Proc1() MaVariable = true end sub
sub Proc2() msgbox MaVariable end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être utilisé lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les carottes, je répète...)
Sub Proc1() Dim MaVariable as boolean MaVariable = true Proc2 MaVariable end sub
Sub Proc2(Valeur as boolean) msgbox Valeur end sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Bonsoir
Attention, une constante n'est pas une variable... car une variable
constante ne varie pas beaucoup, et une constante variabe est
...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu as
de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes
"option...". Dans ce cas, la variable est disponible pour toutes les
procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean
ou
private MaVariable as boolean
pour une variable privée dont la portée est limitée au module dans lequel tu
la déclares
Public MaVariable as boolean
pour la rendre disponible pour tous les modules et modules de classe.
ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module de
classe, de userform, de feuille ou de classeur. Dans ce cas, la variable
devient une "pseudo propriété" de l'objet...
( Simple, non ??? ;-) )
Exemple
Option Explicit
Dim MaVariable as boolean
Sub Proc1()
MaVariable = true
end sub
sub Proc2()
msgbox MaVariable
end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être utilisé
lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les
carottes, je répète...)
Sub Proc1()
Dim MaVariable as boolean
MaVariable = true
Proc2 MaVariable
end sub
Sub Proc2(Valeur as boolean)
msgbox Valeur
end sub
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" <patrice.triquet@free.fr> a écrit dans le message de news:
%23FN5nF$jGHA.2200@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je
change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Attention, une constante n'est pas une variable... car une variable constante ne varie pas beaucoup, et une constante variabe est ...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu as de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes "option...". Dans ce cas, la variable est disponible pour toutes les procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean ou private MaVariable as boolean pour une variable privée dont la portée est limitée au module dans lequel tu la déclares
Public MaVariable as boolean pour la rendre disponible pour tous les modules et modules de classe. ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module de classe, de userform, de feuille ou de classeur. Dans ce cas, la variable devient une "pseudo propriété" de l'objet... ( Simple, non ??? ;-) )
Exemple
Option Explicit Dim MaVariable as boolean
Sub Proc1() MaVariable = true end sub
sub Proc2() msgbox MaVariable end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être utilisé lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les carottes, je répète...)
Sub Proc1() Dim MaVariable as boolean MaVariable = true Proc2 MaVariable end sub
Sub Proc2(Valeur as boolean) msgbox Valeur end sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Pierre Fauconnier
J'ajoute que tu as intérêt à forcer la déclaration des variables en commençant tous tes modules par Option Explicit
Tu peux, dans Outils/options du VBE, cocher "Déclaration des variables obligatoires", cela te forcera à déclarer toutes tes variables ( et donc à te faire réfléchir sur la portée de celles-ci) et t'évitera des erreurs qui représentent un casse-tête de débogage...
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
J'ajoute que tu as intérêt à forcer la déclaration des variables en
commençant tous tes modules par
Option Explicit
Tu peux, dans Outils/options du VBE, cocher "Déclaration des variables
obligatoires", cela te forcera à déclarer toutes tes variables ( et donc à
te faire réfléchir sur la portée de celles-ci) et t'évitera des erreurs qui
représentent un casse-tête de débogage...
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" <patrice.triquet@free.fr> a écrit dans le message de news:
%23FN5nF$jGHA.2200@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je
change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
J'ajoute que tu as intérêt à forcer la déclaration des variables en commençant tous tes modules par Option Explicit
Tu peux, dans Outils/options du VBE, cocher "Déclaration des variables obligatoires", cela te forcera à déclarer toutes tes variables ( et donc à te faire réfléchir sur la portée de celles-ci) et t'évitera des erreurs qui représentent un casse-tête de débogage...
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Olgga
Super Cool ! Vraiment merci pour cette explication détaillée et pédagogique... et humoristique !
ça fonctionne au poil maintenant. bien cordialement.
"Pierre Fauconnier" a écrit dans le message de news:uMBWGR$
Bonsoir
Attention, une constante n'est pas une variable... car une variable constante ne varie pas beaucoup, et une constante variabe est ...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu as
de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes "option...". Dans ce cas, la variable est disponible pour toutes les procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean ou private MaVariable as boolean pour une variable privée dont la portée est limitée au module dans lequel tu
la déclares
Public MaVariable as boolean pour la rendre disponible pour tous les modules et modules de classe. ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module de
classe, de userform, de feuille ou de classeur. Dans ce cas, la variable devient une "pseudo propriété" de l'objet... ( Simple, non ??? ;-) )
Exemple
Option Explicit Dim MaVariable as boolean
Sub Proc1() MaVariable = true end sub
sub Proc2() msgbox MaVariable end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être utilisé
lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les carottes, je répète...)
Sub Proc1() Dim MaVariable as boolean MaVariable = true Proc2 MaVariable end sub
Sub Proc2(Valeur as boolean) msgbox Valeur end sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Super Cool !
Vraiment merci pour cette explication détaillée et pédagogique... et
humoristique !
ça fonctionne au poil maintenant.
bien cordialement.
"Pierre Fauconnier" <pierre.fauconnier@nospam.nospam> a écrit dans le
message de news:uMBWGR$jGHA.4584@TK2MSFTNGP05.phx.gbl...
Bonsoir
Attention, une constante n'est pas une variable... car une variable
constante ne varie pas beaucoup, et une constante variabe est
...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu
as
de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes
"option...". Dans ce cas, la variable est disponible pour toutes les
procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean
ou
private MaVariable as boolean
pour une variable privée dont la portée est limitée au module dans lequel
tu
la déclares
Public MaVariable as boolean
pour la rendre disponible pour tous les modules et modules de classe.
ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module
de
classe, de userform, de feuille ou de classeur. Dans ce cas, la variable
devient une "pseudo propriété" de l'objet...
( Simple, non ??? ;-) )
Exemple
Option Explicit
Dim MaVariable as boolean
Sub Proc1()
MaVariable = true
end sub
sub Proc2()
msgbox MaVariable
end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être
utilisé
lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les
carottes, je répète...)
Sub Proc1()
Dim MaVariable as boolean
MaVariable = true
Proc2 MaVariable
end sub
Sub Proc2(Valeur as boolean)
msgbox Valeur
end sub
Ok?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
"Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin (
proverbe
zen )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" <patrice.triquet@free.fr> a écrit dans le message de news:
%23FN5nF$jGHA.2200@TK2MSFTNGP05.phx.gbl...
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je
change
de SUB, la constante se vide !
comment faire pour conserver la valeur que j'impose à ma variable ?
merci.
----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean
MaVariable = 1
...../....
end sub
--------------------------------
Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
Super Cool ! Vraiment merci pour cette explication détaillée et pédagogique... et humoristique !
ça fonctionne au poil maintenant. bien cordialement.
"Pierre Fauconnier" a écrit dans le message de news:uMBWGR$
Bonsoir
Attention, une constante n'est pas une variable... car une variable constante ne varie pas beaucoup, et une constante variabe est ...inconstante...
Pour solutionner ton problème, deux solutions, selon l'utilisation que tu as
de tes procédures.
1. Déclarer ta variable en début de module, après les éventuelles lignes "option...". Dans ce cas, la variable est disponible pour toutes les procédures et fonctions du module, voire pour tous les modules du projet
dim MaVariable as boolean ou private MaVariable as boolean pour une variable privée dont la portée est limitée au module dans lequel tu
la déclares
Public MaVariable as boolean pour la rendre disponible pour tous les modules et modules de classe. ATTENTION: cela n'est pas vrai pour une variable déclarée dans un module de
classe, de userform, de feuille ou de classeur. Dans ce cas, la variable devient une "pseudo propriété" de l'objet... ( Simple, non ??? ;-) )
Exemple
Option Explicit Dim MaVariable as boolean
Sub Proc1() MaVariable = true end sub
sub Proc2() msgbox MaVariable end sub
2. Passer ta variable de procédure proc1 à ta proc2. Cela peut être utilisé
lorsque ta proc1 appelle ta proc2 ( Ici Londres, les radis appellent les carottes, je répète...)
Sub Proc1() Dim MaVariable as boolean MaVariable = true Proc2 MaVariable end sub
Sub Proc2(Valeur as boolean) msgbox Valeur end sub
Ok?
-- Pierre Fauconnier () "Le bonheur n'est pas au bout du chemin. Le bonheur EST le chemin ( proverbe
zen ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
"Olgga" a écrit dans le message de news: %23FN5nF$
Bonjour à tous,
J'ai déclaré une constante booléenne dans une procédure mais quand je change de SUB, la constante se vide ! comment faire pour conserver la valeur que j'impose à ma variable ?
merci. ----------------------------------
Private sub MonExemple ()
Dim MaVariable as boolean MaVariable = 1
...../....
end sub -------------------------------- Private Sub MaSecondeProcédure ()
Msgbox (MaVariable)
End sub
(la box donne alors une valeur vide au lieu de 1 !)
AV
Alternative, si tu veux que ta "constante dure autant que ton fichier" : créer un nom (éventuellement caché)
Exemple de création : x = False Names.Add "maConstante", x, False 'le dernier argument (False) est pour cacher le nom
Pour "l'interroger" : MsgBox [maConstante]
Pour modifier sa valeur : Names("maConstante").RefersTo = True
AV
Alternative, si tu veux que ta "constante dure autant que ton fichier" : créer
un nom (éventuellement caché)
Exemple de création :
x = False
Names.Add "maConstante", x, False 'le dernier argument (False) est pour cacher
le nom
Pour "l'interroger" :
MsgBox [maConstante]
Pour modifier sa valeur :
Names("maConstante").RefersTo = True