L'informatique à votre portée
L'informatique prêt-à-porter

Faites appel à moi pour vos formations
sur les dpts 81, 31, 82, 11 et 67 (Strasbourg)
Confiez moi vos développements Office

FacebookTwitterGoogle BookmarksLinkedin

Durée de vie

Imprimer E-mail
4 mars 2014

C'est la période pendant laquelle une variable contient une valeur, celle-ci peut changer plusieurs fois pendant cette durée de vie.
Lorsque la variable est hors de portée (invisible) sa vie est finie car elle n'a plus de valeur.
Lorsque la variable est déclarée, elle est initialisée. Les variables numériques sont initialisées à 0 (zéro), les chaînes de longeur variable sont initialisées à une chaîne de longeur nulle (""), les chaînes fixes sont remplies avec le caractère ASCII 0 (chr(0)), les variants sont initialisés à Empty, les variables objets sont initialisées avec Nothing.
Si dans une procédure, une variable est déclarée avec Static au lieu de Dim, la variable est hors de portée lorsque le programme quitte la procédure, mais elle garde sa valeur (et n'est donc pas réinitialisée) tant que le code est exécuté. Vous pouvez alors appeler de nouveau la procédure (ou la fonction) et retrouver sa valeur.
Écrivez dans un module les 2 procédures suivantes :
Sub Message_Incremente()
    Affiche_Mess
    Affiche_Mess
    Affiche_Mess
End Sub

Portée

Imprimer E-mail
4 mars 2014

La portée représente la disponibilité d'une variable pour son utilisation, il existe 3 niveaux : niveau de procédure, niveau de module privé et niveau de module public. Sa portée est définie lors de la déclaration de la variable et selon son emplacement dans le code.

  • Niveau de procédure : vous déclarez la variable au sein d'une procédure, dans la 2ème ligne de code de celle-ci. Elle n'est alors visible que dans la procédure, si vous tentez de la lire dans une autre procédure, elle n'existera pas. Pour comprendre cela, écrivez dans un module (si la ligne OptionExplicit existe dans ce module, supprimez la) les 2 procédures suivantes :
    Sub Lecture_Variable()
       Dim Var1 As String

       Var1 = "Ceci est le contenu de Var1"
       MsgBox Var1
       MsgBox Var2
    End Sub

    Sub Attribut_Var2()
       Dim Var2 As String

       Var2 = "Ceci est le contenu de Var2"
    End Sub
    Puis dans la fenêtre Exécution, tapez Lecture_Variable puis appuyez sur Entrée. "Ceci est le contenu de Var1" va s'afficher dans une fenêtre message, cliquez sur Ok, le 2ème message sera vide, en effet pour la procédure Lecture_Variable, Var2  n'existe pas. Si vous aviez laissé la ligne OptionExplicit , VB vous aurait signalé l'erreur "Variable non définie".

Tableau

Imprimer E-mail
4 mars 2014

Un tableau est un ensemble de valeurs disposées dans plusieurs dimensions. Par exemple le tableau MonTab(5,5) contient 5x5=25 valeurs que l'on peut disposer ainsi pour mieux comprendre :

MonTab(0,0)  MonTab(0,1)  MonTab(0,2)  MonTab(0,3)  MonTab(0,4) 
MonTab(1,0)  MonTab(1,1)  MonTab(1,2)  MonTab(1,3)  MonTab(1,4) 
MonTab(2,0)  MonTab(2,1)  MonTab(2,2)  MonTab(2,3)  MonTab(2,4) 
MonTab(3,0)  MonTab(3,1)  MonTab(3,2)  MonTab(3,3)  MonTab(3,4) 
MonTab(4,0)  MonTab(4,1)  MonTab(4,2)  MonTab(4,3)  MonTab(4,4) 

Les tableaux se déclarent comme n'importe quelle variable, mais vous avez 2 catégories de tableaux, les fixes et les dynamiques.
Les fixes ont une dimension définie dès la déclaration, ils peuvent avoir la dimension que vous voulez : Dim MonTab(10) as string, ou Dim MonTab(10,2) as string, ou Dim MonTab(10,2,5) as string, etc...
Les dynamiques sont déclarés sans aucune dimension, celle-ci étant précisée ensuite au cours du programme, par exemple Dim MonTab() as string, puis vous le dimensionner avec ReDim MonTab(10), autant de fois que vous le voulez au cours du code. À chaque redimension, le tableau est vidé, pour l'éviter vous devez utiliser le mot clé Preserve: ReDim Preserve MonTab(10).

Variable objet

Imprimer E-mail
4 mars 2014

C'est une variable qui ne représente pas une valeur mais un objet. Vous utilisez cette variable comme l'objet auquel il se réfère, en définissant ou lisant ces propriétés et en utilisant ces méthodes.

  • Vous devez d'abord la déclarer ainsi : Dim VariableObjet as objet. Cet objet peut être de type Variant : Object (crée une référence à n'importe quel objet) ou tout objet existant dans l'application (ex : Dim UneCellule as Range pour utiliser une variable objet Plage d'Excel).
  • Puis vous devez lui affecter l'objet en question : Set VariableObjet= Objet, exemple : Set UneCellule = Range("A2") qui affecte la cellule A2 à la variable UneCellule . Vous pouvez, ensuite, l'utilisez ainsi : UneCellule.Font.Size=14.

Vous pouvez la déclarer et l'affecter en une seule opération en utilisant New associé à Set : Set VariableObjet= New Objet, où Objet répond aux mêmes type que ci-dessus.
Pour couper la relation entre la variable et l'objet auquel elle est affectée, utilisez l'instruction :  Set VariableObjet= Nothing.
Si aucun objet n'a été affecté à la variable, celle-ci est égal à Nothing. Vous pouvez donc vérifier l'affectation avec les lignes suivantes, par exemple :
If Not VariableObjet Is Nothing Then
    ' La variable fait référence à un objet valide.
    . . .
End If

Constante

Imprimer E-mail
4 mars 2014

C'est un nom qui représente l'emplacement en mémoire d'une valeur, cette dernière est constante et donc ne varie pas au cours de l'exécution du programme. Les règles de nomination sont les mêmes que pour les variables, par contre pour les lire rapidement comme une constante, il est de convention de les écrire complètement en majuscule.
La valeur que vous attribuez à la constante peut être une valeur chaîne, numérique, une autre constante, une combinaison contenant des opérateurs logiques ou arithmétiques à l'exception de Is et de l'élévation à une puissance.

Il est préférable de déclarer la constante en début de portée (début de procédure, fonction ou module) et de préciser son type : Const CONSTANTE as type = valeur, exemple : Const MACONSTANTE as String = "ceci est une constante"  qui déclare que la constante MACONSTANTE, de type chaîne est égal à "ceci est une constante".

Variable

Imprimer E-mail
4 mars 2014

C'est un nom qui représente l'emplacement en mémoire d'une valeur, cette dernière peut être modifiée au cours de l'exécution du programme. Ce nom doit commencer par un caractère alphabétique avec un maximum de 255 caractères, ne doit pas contenir de point ni de caractère de déclaration de type. Il doit être unique au sein d'une même portée. Pour rendre la variable très lisible et compréhensible pour la lecture du code, vous pouvez utilisez les majuscules pour le 1er caractère et certains autres au milieu de son nom. Cette méthode permet aussi de vérifier la bonne frappe de votre code, tapez le en minuscule, si le texte est correct, celui-ci prendra les majuscules automatiquement.
Vous pouvez également utiliser la convention suivante, vous ajoutez toujours le ou les mêmes caractères au début des variables d'un même type. Par exemple : sUnTexte pour une variable string, iColonne pour une variable Integer, lngLigne pour une variable Long, curMontant pour une variable Currency, etc.

Il est préférable de déclarer la variable en début de portée (début de procédure, fonction ou module) et de préciser son type : Dim variable as type, exemple : Dim UnTexte as String qui déclare la variable UnTexte de type chaîne