Cours Visual Basic for Applications NOTIONS DE BASES, tutoriel & guide de travaux pratiques structure des programmes Visual Basic en pdf.
La portée et la durée de vie des Variables et des Constantes
En plus de leur type et de leur valeur, les variables et les constantes sont caractérisées par leur portée. Elle désigne son accessibilité pour les procédures et les modules du projet. Les variables et les constantes peuvent être accessibles :
– Uniquement à l’intérieur d’une procédure : c’est le cas si la déclaration est effectuée à l’intérieur de la procédure
– à l’ensemble des procédures d’un module : c’est le cas si la déclaration est effectuée dans la partie Déclaration d’un Module, c’est-à-dire à l’extérieur de toute procédure, avec les séquences « Dim NomVariable as Type » ou « Private NomVariable as Type »
– ou encore à l’ensemble des modules du projet en cours : : c’est le cas si la déclaration est effectuée dans la partie Déclaration d’un Module, c’est-à-dire à l’extérieur de toute procédure, avec la séquence « Public NomVariable as Type »
La durée de vie d’une variable désigne le temps pendant lequel la variable conserve sa valeur. Une variable peut :
– conserver sa valeur tant qu’une procédure s’exécute et être réinitialisée lorsque la procédure est terminée : c’est la cas si l’on utilise la séquence classique « Dim NomVariable as type »
– ou conserver sa valeur entre les différents appels de la procédure : c’est le cas si l’on utilise la séquence « Static NomVariable as Type »
Les structures de contrôle
– La boucle While…Wend
La structure While…Wend permet de répéter une série d’instruction tant que la condition spécifiée est remplie. La syntaxe est :
While Condition
Série d’instructions
Wend
– La boucle Do … Loop et ses 4 variantes
La structure Do While … Loop permet de répéter une série d’instruction tant que la condition spécifiée est remplie. La syntaxe est :
Do While Condition
Série d’instructions
Loop
La structure Do Until … Loop permet de répéter une série d’instruction jusqu’à ce que la condition spécifiée soit remplie. La syntaxe est :
Do Until Condition
Série d’instructions
Loop
La structure Do … Loop While permet d’exécuter une série d’instructions puis de la répéter tant que la condition spécifiée est remplie. La syntaxe est :
Do
Série d’instructions
Loop While Condition
La structure Do … Loop Until permet d’exécuter une série d’instructions puis de la répéter jusqu’à ce que la condition spécifiée soit remplie. La syntaxe est :
Do Until
Série d’instructions
Loop Until Condition
– La boucle For … Next
La structure For … Next permet de répéter une série d’instruction un nombre de fois déterminée dans le code, en utilisant un compteur. La syntaxe est :
For compteur = x to y Step Pas
Série d’instructions
Next compteur
Cette séquence permet d’exécuter en boucle la série d’instruction spécifiée entre For et Next en incrémentant la variable compteur de la valeur de Pas à chaque itération.
Les structures conditionnelles
– La structure If … Then … Else
La syntaxe est :
If Condition 1 Then
Série d’instructions 1
[ ElseIf Condition 2
Série d’instructions 2
ElseIf Condition 3
Série d’instructions 3
…
Else
Série d’instructions n ]
EndIf
La partie entre crochet [] n’est pas obligatoire. Les conditions sont évaluées dans l’ordre d’apparition à l’intérieur de la structure.
– La structure Select Case
La structure Select case permet d’envisager différentes valeurs pour une même expression et de déterminer des instructions spécifiques pour chaque cas envisagé. La syntaxe est :
Select Case Expression
Case Valeur 1
Série d’instructions 1
Case Valeur 2
Série d’instructions 2
…
Case Valeur n
Série d’instructions n-1
[ Case Else
Série d’instructions ]
End Select
Lorsque la valeur renvoyé par Expression correspond à l’une des valeurs proposées derrière les Case, les instructions correspondants sont exécutés et la procédure se poursuit avec l’instruction qui suit le End Select. Sinon, les instructions attachées à Case Else sont exécutées.
La structure des programmes Visual Basic pour Application
La notion de Modules
Comme il est précisé dans le § précédent, on distingue dans un projet VBA les modules de Code, les modules de Classe et les Feuilles. Ces éléments sont appelés à interagir pour constituer le programme complet :
– Le code standard se trouve dans des modules de codes, stockés dans le dossier Modules.
– Le code décrivant les objets développés pour votre projet est stocké dans le dossier Modules de Classe
– Le code décrivant l’interface d’un programme et le code affecté aux différents événements associés à cette interface sont stockés dans des fichiers UserForms, eux même stockés dans le dossier Feuilles.
La notion de Procédure
A l’intérieur d’un même module, le code est structuré en procédures. Une procédure est une séquence d’instructions. On qualifie de procédure événementielle une procédure déclenchée par un événement (clic de souris, frappe d’une touche du clavier, ..) par opposition aux procédures standards indépendantes de tout événement de l’interface utilisateur :
– Dans les dossiers Feuilles, les procédures sont déterminées : il existe une procédure pour chaque événement pouvant affecter un élément de l’interface utilisateur. Il s’agit alors uniquement de créer le code à exécuter lors du déclenchement de cet événement.
– Dans les dossiers Modules ou Modules de Classe, c’est au concepteur du code de créer les différentes procédures. Il s’agit alors de créer la structure de la procédure (Procédure, Fonction, …) et de créer le code à exécuter lors de l’appel à cette dernière.
Construction d’une interface Utilisateur
Les feuilles sont les zones sur lesquelles nous allons placer des Contrôles (Case à cocher, zones de texte, …). Ces contrôles placés sur une feuille forment alors une interface graphique permettant une itéraction simple et intuitive entre l’utilisateur final et le programme.
Comme indiqué précédemment, les événements utilisateurs (clic de souris, …) sont automatiquement détectés par le programme sui exécute alors le code associé à cet événement. On parle de procédure événementielle.
Les phases de développement des feuilles sont :
1. Détermination des besoins : Quelles fonctions doit avoir cette interface ? De quels contrôles doit-elle être composée ? Comment seront-ils organisés sur la feuille ? A quels événements utilisateurs doivent-ils répondre ?
2. Création visuelle de la feuille : Pendant cette phase, il faut placer les contrôles voulus sur la feuille en mode création dans le VBE et les paramétrer en mettant à jour les valeurs dans la fenêtre Propriétés.
3. Ecriture du code attaché à cette feuille : Pendant cette phase, on détermine le comportement de la feuille face aux différents événements utilisateurs.
Les composants de la boîte à outils
La boîte à outils contient les contrôles que vous pouvez placer sur votre feuille. Au même titre que la feuille elle-même , les contrôles sont des objets, avec des méthodes et propriétés. Pour pouvoir utiliser ces contrôles, vous devez uniquement connaître ces méthodes et propriétés.
– Le contrôle Label Le contrôle Label permet de placé un intitulé informatif sur une feuille
– Le contrôle textBox Le contrôle textBox permet de placer une zone de texte sur la feuille, dans laquelle l’utilisateur pourra saisir des informations
– Le contrôle ComboBox Le contrôle ComboBox permet de placer une zone de liste modifiable sur la feuille, permettant à l’utilisateur de saisir une valeur manuellement ou de la sélectionner dans une liste. La saisie manuelle peut être désactivée.
– Le contrôle Frame Le contrôle Frame permet de placer un cadre présentant un intitulé. Ce cadre pourra à son tour recevoir des contrôles
– Le contrôle ListBox Le contrôle ListBox permet de placer une zone de liste non modifiables, dans laquelle l’utilisateur pourra saisir une ou plusieurs valeurs.
– Le contrôle CheckBox Le contrôle CheckBox permet de placer une case à cocher qui peut être alors activée ou désactivée par l’utilisateur
– Le contrôle ToggleButton Idem Contrôle CheckBox avec une présentation graphique différente.
– Le contrôle OptionButton Le contrôle OptionButton permet de proposer à l’utilisateur un choix parmi plusieurs options. Si plusieurs contrôles OptionButton sont associés ( en les mettant dans un contrôle Frame par exemple ou avec la propriété GroupName), un seul choix est possible parmi toutes les options proposées.
– Le contrôle CommandButton Le contrôle CommandButton permet de proposer un bouton de commande à l’utilisateur.
– Le contrôle TabStrip Le contrôle TabStrip permet de mettre en place un ensemble de page géré par onglet
– Le contrôle ScrollBar Le contrôle ScrollBar permet de mettre en place une barre de défilement .
– Le contrôle SpinButton Le contrôle SpinButton permet de mettre en place un bouton « Toupie » composé de 2 flèches
Quelques propriétés de ces contrôles
– La propriété Name
Elle correspond au nom de l’objet. Ce nom doit être utilisé pour faire référence à l’objet dans le code. Un même nom ne peut être utilisé pour plusieurs objets d’une même feuille.
– La propriété Caption
Elle correspond au texte descriptif du contrôle. Cela correspond par exemple au texte qui s’affiche à l’intérieur d’un bouton, ou en haut à gauche d’une feuille par exemple.
– La propriété Value
Elle correspond à la valeur du contrôle. Cela peut varier en fonction du contrôle choisi, par exemple la propriété value d’un contrôle CheckBox correspond à un booléen qui est à Vrai si la case est cochée, à Faux sinon. La liste des valeurs prises la propriété Value en fonction des types de contrôles.
Introduction au langage de programmation VBA
1. Les différents types de Variables et Constantes
– Les Chaînes de caractères
– Les Valeurs numériques
– Les valeurs booléennes
– Les Dates
– Les tableaux
– Les type de données personnalisés
– Les constantes
2. La portée et la durée de vie des Variables et des Constantes
3. Les structures de contrôle
– La boucle While…Wend
– La boucle Do … Loop et ses 4 variantes
– La boucle For … Next
4. Les strutures conditionnelles
– La structure If … Then … Else
– La structure Select Case
5. La structure des programmes Visual Basic pour Application
La notion de Modules
La notion de Procédure
Construction d’une interface Utilisateur
1. Les composants de la boîte à outils
– Le contrôle Label
– Le contrôle textBox
– Le contrôle ComboBox
– Le contrôle Frame
– Le contrôle ListBox
– Le contrôle CheckBox
– Le contrôle ToggleButton
– Le contrôle OptionButton
– Le contrôle CommandButton
– Le contrôle TabStrip
– Le contrôle ScrollBar
– Le contrôle SpinButton
2. Quelques propriétés de ces contrôles
– La propriété Name
– La propriété Caption
– La propriété Value
– La propriété Visible
– La propriété Enabled
– La propriété Locked
3. Création des procédures événementielles
– Les événements
– Accés à une procédure événementielle et saisie le code
Construction et Utilisation d’un Module
1. Les procédures Sub
2. Les procédures Function
3. Les arguments des procédures Sub ou Function
4. Utilisation d’un module
– L’appel d’une procédure Sub
– L’appel d’une procédure Function
– Le passage des arguments
Traitements intra-application et inter-applications
1. Le modèle Objet d’Excel
– Accéder au modèle objet d’Excel dans un module définit dans VBA Excel
– Accéder au modèle objet d’Excel dans un module définit dans une autre application (VBA Compliant) qu’Excel
2. Le modèle objet Word
3. Le modèle objet Direct Access Object DAO 3.6
– Accéder au modèle objet d’une base de données supportant les DAO dans un module VBA
4. Le modèle objet Acces
Etude de cas
1. Création du fichier EXCEL
– Création d’une feuille nommée « Change »
– Création d’une feuille nommée « Cours »
2. Construction de l’interface graphique de choix du pays
– Ouverture de VBE
– Ouverture d’une fenêtre graphique et placement des objets d’interface
3. Construction de la Macro d’activation de cette fenêtre graphique dans Excel
4. Construction d’une procédure de calcul du change
5. Construction de la procédure événementielle « Click sur le bouton Btn_OK »
6. Mise à jour des valeurs de change à partir d’Access
– Construction de la base de données
– Ajout de la référence DAO 3.6 dans le projet Excel
………