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

Portée

4 mars 2014
Imprimer E-mail

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".

  • Niveau de module privé : en déclarant une variable en haut d'un module (juste en dessous d'OptionExplicit ), en dehors d'une procédure ou d'une fonction, celle-ci devient disponible pour toutes les procédures et fonctions du module. Par défaut les variables déclarés avec Dim et les constantes avec Const ont une portée privée, mais vous pouvez le préciser en utilisant Private. Pour utiliser l'exemple précédent, écrivez tout en haut du module :
    Private Var2 As String
    Private Const CONST1 As String = "essai"

    ou 
    Dim Var2 As String
    Const CONST1 As String = "essai"

    Dans la procédure Lecture_Variable , écrivez la ligne suivante, entre MsgBox Var1 et MsgBox Var2 :
             Attribut_Var2
    Dans la fenêtre Exécution, placez votre point d'insertion dans  Lecture_Variable puis appuyez sur Entrée. Cette fois-ci, les 3 messages auront un contenu.
  • Niveau de module public : en déclarant la variable ou la constante comme ci-dessus, mais en précisant qu'elle est publique, elle sera alors visible depuis n'importe quel module du projet. Ajoutez tout simplement le mot clé Public devant la déclaration ainsi :
    Public Var2 As String
    Public Const CONST1 As String = "essai"