Initialisation des variables [Résolu]

Signaler
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
74
Date d'inscription
vendredi 14 juillet 2006
Statut
Membre
Dernière intervention
14 août 2006

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
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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????
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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!!!
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
32
Date d'inscription
jeudi 3 août 2006
Statut
Membre
Dernière intervention
6 septembre 2006

 

<?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
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
Messages postés
110
Date d'inscription
lundi 27 mars 2006
Statut
Membre
Dernière intervention
21 octobre 2008

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é
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
De rien ! Comme tu as dit, c'est Microsoft !

Bonne continuation.

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"