<< Retour au sommaire

 

Les variables

 

 

 

Le sommaire :

  1. Introduction.
  2. Les types de variables.
  3. La déclaration des variables.
  4. Les variables indicées.
  5. L’utilisation des variables.
  6. Un exemple dans EXCEL.

 

Introduction

 

Une variable est un espace mémoire qui vous permet de stocker provisoirement des informations durant l’exécution d’une macro ou d’une application.

Les variables sont donc un moyen provisoire de conserver des données, de réaliser des opérations Etc.…

Une variable a un type, selon la nature des données que l’on va lui affecter, elle a également un nom et c’est à partir de ce nom que vous allez l’utiliser.

D’ailleurs, c’est vous qui allez définir le nom de vos variables.

 

 


Les types de variables

 

Selon les types de données que vous souhaitez stocker dans une variable, vous devez, lors de la déclaration d’une variable, choisir l’un des types disponibles dans le langage VISUAL BASIC.

 

Boolean = Type logique, qui ne peut contenir que les valeurs True et False (Vrai Faux.)

 

Byte = (Octet) Un entier qui peut comprendre les valeurs de 0 à 255.

 

Integer = Un entier pouvant comprendre les valeurs de 0 à 32 768.

 

Long = Un entier long qui peut comprendre les valeurs de 0 à 2 milliards environ.

 

Single = Un décimal à virgule flottante simple précision.

 

Double = Un décimal à virgule flottante double précisions.

 

Currency = Un décimal à virgule fixe.

 

String = Caractères alphanumériques jusqu’à 65 000 caractères.

 

Variant = C’est une variable qui peut prendre n’importe quel type de valeurs.

 

 


La déclaration des variables

 

Le type Variant ne se déclare pas. La variable doit être saisie au moment de son utilisation et peut recevoir n’importe quel type de valeur.

Cet avantage à son prix, une variable de type Variant consomme un espace mémoire très important.

 

Nous devons déclarer les variables dès les premières lignes d’une macro.

Le mot Clef qui est utilisé est Dim.

Ces variables sont dites variables locales, car elles sont systématiquement initialisées lors de l’exécution de la macro qui les contient, et elles sont détruites lorsque l’exécution de la macro et terminée.

 

La syntaxe de la déclaration :

Une variable locale :

 

Dim Nom_Variable As Type_Variable

 

Par exemple, pour déclarer une variable intitulée Nom et de type chaîne de caractères :

Dim Nom As String

 

Voici quelques règles concernant les noms de variables :

 

  1. La taille est illimitée,
  2. Le premier caractère doit être une lettre alphabétique,
  3. Pas d’espace et de caractères spéciaux,
  4. Un nom de variable ne prend pas en compte la casse, on peut utiliser indifféremment les minuscules et les majuscules pour désigner une même variable.

 

 


Les variables indicées

 

Ces variables sont dites « Tableaux ».

Les tableaux sont donc des variables dans lesquelles vous pouvez affecter plusieurs valeurs.

Il existe deux types de tableaux, les tableaux définis et les tableaux dynamiques.

Un tableau défini est un tableau pour lequel nous déterminons, et ce,  dès sa déclaration, le nombre de cellules, ou de cases, que nous lui voulons.

 Par exemple, si je souhaite un tableau de type chaîne de caractères d’une seule dimension 5 cellules :

Dim Mon_Tableau(5) As String

 

Si je souhaite un tableau de type Long en deux dimensions 5 lignes 5 colonnes :

Dim Mon_Tableau(5,5) As Long

 

Un tableau dynamique est un tableau pour lequel nous ne souhaitons pas déterminer à l’avance sa taille.

Ce type de tableau est très pratique mais il consomme beaucoup d’espace mémoire.

 

Par exemple, pour le tableau Nom, déclaré en tête d’une macro et de type chaîne de caractères :

Dim Nom() As String

 

Ultérieurement, durant l’écriture du code du programme, je pourrai dimensionner ce  tableau de la façon suivante :

Redim Nom(10,10)

 

Mais cette « redéclaration » effacera les valeurs contenues dans le tableau.

Pour conserver les valeurs déjà affectées, il faudra rajouter le mot clef Preserve :

Dim Preserve Nom(10,10)

 

 


L’utilisation des variables

 

Une variable est donc utilisée à l’intérieur d’une macro afin de conserver des valeurs.

Elle est dite variable locale, elle est déclarée en haut d’une macro avec le mot clef « Dim », et elle a une existence limitée au temps d’exécution de la macro la contenant.

 

Les variables ne sont donc pas faites pour mémoriser définitivement des valeurs, mais provisoirement.

Durant l’exécution du programme, les variables peuvent être utilisées à l’intérieures de formules mathématiques ou comme arguments dans des instructions.

 

Pour affecter une valeur dans une variable, vous devez utiliser l’opérateur d’affectation « + », c’est-à-dire égal.

Par exemple, pour affecter la chaîne de caractères « VISUAL BASIC » dans la variable Langage :

Dim langage As String

Langage = « VISUAL BASIC »

 

Vous avez constaté ici que la chaîne de caractères « VISUAL BASIC » était encadrée par des guillemets.

C’est ainsi que le compilateur fera la distinction entre une variable et une chaîne de caractères, c’est-à-dire une valeur.

 

Maintenant, nous allons déclarer 3 variables de type Integer, ensuite nous allons affecter des valeurs dans les 2 premières et la somme de ces 2 variables dans la troisième.

 

Dim Premier As Integer

Dim Deuxième As Integer

Dim Troisième As Integer

Premier = 33

Deuxième = 666

Troisième = Premier+Deuxième

 


L’affectation dans les tableaux :

 

Pour affecter une valeur dans un tableau, vous devez préciser l’emplacement exact, dans le tableau, où sera affectée la valeur.

Vous devez donc préciser les indices.

Je vais déclarer un tableau en deux dimensions, se tableau s’appèlera Ages, et après sa déclaration, je vais affecter la valeur 38 dans la deuxième colone de la deuxième ligne du tableau.

 

Dim Age(10,10) As Byte

Age(2,2) = 38

 

Dans un programme, vous pourrez remplacer les valeurs d’indices par une ou plusieurs variables :

 

Dim Age(10,10) As Byte

Dim Indice1 As Byte

Dim Indice2 As Byte

Indice1 = 2

Indice2 = 2

Age(Indice1,Indice2) = 38

 

 


Un exemple dans EXCEL

 

Nous allons réaliser une petite macro qui ouvre une fenêtre de saisie à l’écran, et après validation de cette fenêtre, le texte saisie sera écrit automatiquement dans la cellule A1.

 

Ici, nous allons utiliser la fonction inputbox qui ouvre un formulaire de saisie à l’écran, le résultat de la saisie sera directement affecté dans la variable MonTexte.

Nous allons également utiliser la commande activecell.value, qui permet d’écrire dans la cellule courante. Dans le cas de notre exemple, l’écriture sera la variable MonTexte.

 

Voici le code :

 

Sub saisirA1()

'

' saisirA1 Macro

' Macro enregistrée le 06/02/2008 par Philippe BOULANGER

'

' Touche de raccourci du clavier: Ctrl+y

'

    ' demande à l'utilisateur de saisir le texte à insérer dans la cellule A1

    MonTexte = InputBox("Veuillez réaliser la saisie du texte.")

    ' Atteindre la cellule A1

    Application.Goto Reference:="R1C1"

    ' Réalise la saisie

    ActiveCell.Value = MonTexte

    End Sub

 

Philippe BOULANGER