Initialisation des variables

Résolu
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008 - 9 août 2006 à 14:42
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 9 août 2006 à 16:09
Bonjour j'ai des variables globales définit tels que:
Dim VarJar As Double.

Peut-on les initialiser directement en écrivant Dim VarJar as Double = 0.00 ou bien faut-il toutes les réécrires en faisant
Varjar = 0.00 ???

Merci

15 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 14:49
Salut,

si ton Dim est placé dans les déclarations, donc hors procédures, cela est impossible.
Par contre, dans une procédure, il est tout à fait possible d'écrire la syntaxe suivante:

Private Sub Machin()
    Dim VarJar As Double: VarJar = 0.00
' ***        ...etc...
End Sub

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 15:00
NON !

Mais comme je ne suis pas un chien, je te donne la syntaxe au cas où un jour tu utilises une variables avec une valeur dans une procédure Sub.

Pour ta 'variable' global, t'es marron. Par contre, si la valeur est définitive, tu peux utiliser les constantes :

Public VarJar As Double = 0.00
' Public ou Private. La valeur est définitive.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
3
pymaster Messages postés 74 Date d'inscription vendredi 14 juillet 2006 Statut Membre Dernière intervention 14 août 2006
9 août 2006 à 14:45
bonjour

En VB6 je crois que tu n'a pas le choix de faire ton affection dans une section de code. En VB.NET par contre il ont ajouté l'option de faire l'affectation durant la déclaration.

PY
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
9 août 2006 à 14:52
Ben vu que c'est des variables globales oui c'est en dehors d'un Sub

Donc j'ai le droit de toute les réécrire et de les initialiser????
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
9 août 2006 à 15:04
VB de M.....


En java ou en C++ cela fait longtemps que j'aurais utilisé public ou private.


J'espère juste que cela signifie la meme chose.


Merci du coup de pouce
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 15:09
Pour Public, ça veut dire que ta variable / constante est accessible dans tout tes modules et Form.
En Private, que dans le Module / Form où il se trouve.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 15:15
Correctif sur les constantes :

Public VarJar As Double = 0.00
' Public ou Private. La valeur est définitive.
       A REMPLACER PAR
Public Const VarJar As Double = 0.00
' Public ou Private. La valeur est définitive.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
9 août 2006 à 15:18
Dsl mais le problème du VBA c'est qu'il utilise du VB mais Const il connait pas enfin bon c'est pas grave, je le fais à la bourrin en les initialisant dans une focntion initialize.
Merci qd meme pour ton aide et vive Microsoft comme dirait certain!!!Mdrr!!!
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 15:27
Const n'est pas connu de VBA ??

Je suis sur VBA depuis un moment et les Constantes sont connues :

<hr size= "2" width="100%" />[javascript:hhobj_3.Click() constante],
vous pouvez attribuer un nom significatif à une valeur. L'instruction
Const permet de déclarer une constante et de définir sa valeur. Une fois
qu'une constante est déclarée, elle ne peut être modifiée ou recevoir une
nouvelle valeur.

Vous pouvez déclarer une constante dans une [javascript:hhobj_4.Click() procédure] ou au début d'un [javascript:hhobj_5.Click() module] dans la section Déclarations. Les
constantes de [javascript:hhobj_6.Click() niveau module] sont
privées par défaut. Pour déclarer une constante de niveau module public, faites
précéder l'instruction Const du [javascript:hhobj_7.Click() mot
clé]Public. Vous pouvez déclarer explicitement une constante privée
en faisant précéder l'instruction Const du mot clé Private pour
simplifier la lecture et l'interprétation de votre code. Pour plus
d'informations, recherchez la rubrique "Portée et visibilité" dans l'aide de
Visual Basic.

L'exemple suivant déclare la constante Public
conAge
comme une constante de type Integer et lui attribue
la valeur
34
.

Public Const conAge As Integer  = 34


Les constantes peuvent être déclarées avec les types de données
suivants : Boolean, Byte, Integer, Long,
Currency, Single, Double, Date, String ou
Variant. Puisque vous connaissez déjà la valeur d'une constante, vous
pouvez spécifier le type de données dans une instruction Const. Pour plus
d'informations sur les types de données, recherchez "Types de données" dans
l'aide de Visual Basic.

Vous pouvez déclarer plusieurs constantes dans une instruction. Pour
spécifier un type de données, vous devez indiquer ce type pour chaque constante.
Dans l'instruction suivante, les constantes
conAge
et
conWage
sont déclarées comme données de type Integer.
Const conAge As Integer 34, conWage As Currency 35000


<hr size="2" width="100%" />
j'ai testé par acquis de conscience et :

UserForm1 et ComboBox1 :

Private Const Valeur1 As String = "Lundi"
Private Const Valeur2 As String = "Mardi"
' *** dans les déclarations^^

Private Sub ComboBox1_Change()

End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
    ComboBox1.AddItem Valeur1
    ComboBox1.AddItem Valeur2
End Sub

Lundi et Mardi s'affiche bien dans mon UserForm !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
chanel35 Messages postés 32 Date d'inscription jeudi 3 août 2006 Statut Membre Dernière intervention 6 septembre 2006
9 août 2006 à 15:53
 

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>










Bonjour je suis débutante dans le Visual basic et je voudrai une aide dans ce domaine, je veux utiliser un fichier Excel comme ressource pour mes calcul et faire des enregistrement des donnée à partir de visual et prendre aussi les information de ce fichier pour pouvoir les affiché sur un Form ou boite de dialogue.



merci de votre aide
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
9 août 2006 à 15:55
Ok merci pour l'info en fait tout dépends si c'est des variables globales ou locales
car les globales j'arrives pas à leur dit Public.

Bon c'est un peu bizarre mais c'est comme cela rien ne vaut mon Java qd meme je trouve plus simple.

Merci du coup de main.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 16:00
Chanel35 : pose ta question ICI. merci (et met + de précisions)

tortuegenie :

Public Const n'est accepté que dans un module, pas dans un UserForm !
Pour que tes constantes soient accessibles dans plusieurs Form, place les déclarations de tes Constantes en Public, situé dans un module.

Si tu veux que ces constantes ne soient accessibles que dans ton UserForm, Private suffit.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 16:03
Euh je précise plus car cela risque d'être ambigüe :
Public Const MaValeur As String "Coucou"> obligatoirement dans un Module
Private Const MaValeur As String "Coucou"> accepté dans un UserForm

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
tortuegenie Messages postés 110 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 21 octobre 2008
9 août 2006 à 16:05
Ouais, bof c'est space à comprendre le VBA alors les différents objets, merci pour ton coup de main et du tps que tu as passé
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
9 août 2006 à 16:09
De rien ! Comme tu as dit, c'est Microsoft !

Bonne continuation.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
Rejoignez-nous