Cours de programmation avancée sous Microsoft Visual Basic .Net

Sommaire
1. PRESENTATION . 7
1.1 HISTORIQUE .. 7
1.2 NOUVEAUTES .. 7
1.3 INSTALLATION . 7
2. ENVIRONNEMENT VISUAL STUDIO 8
2.1 L’INTERFACE 8 2.2 FENETRES D’EXPLORATION .. 9
2.2.1 Explorateur de serveur . 9
2.2.2 Explorateur de Solutions .. 10
2.2.3 L’affichage de classes 10
2.2.4 Fenêtre de propriétés . 11
2.2.5 L’aide dynamique . 11
2.2.6 La liste des tâches 11
3. GESTION DE PROJETS .. 12
3.1 LES SOLUTIONS . 12
3.2 CREATION D’UN PROJET 12
3.3 CONFIGURATION D’UN PROJET . 13
4. BASES DU LANGAGE .. 14
4.1 STRUCTURE DU CODE 14
4.1.1 Formulaire .. 14
4.1.2 Module 14
4.1.3 Les commentaires . 15
4.1.4 Les régions .. 15
4.2 LES VARIABLES 16
4.2.1 Types de variables 16
4.2.1.1 Types numériques .. 16
4.2.1.2 Types chaîne de caractère .. 17
4.2.1.3 Autres types 17
4.2.2 Déclaration de variables .. 17
4.2.3 Portée et visibilité des variables .. 18
4.2.3.1 Portée des variables 18
4.2.3.1 Visibilité des variables . 18
4.2.4 Les tableaux . 18
4.2.5 Les constantes 19
4.2.6 Les énumérations .. 19
4.3 LES OPERATEURS . 20
4.3.1 Opérateur d’affectation . 20
4.3.2 Opérateurs Arithmétiques 20
4.3.3 Opérateurs de comparaison 21
4.3.4 Opérateurs de concaténation . 21
4.3.5 Opérateurs logiques 22
4.4 LES STRUCTURES DE CONTROLE .. 22
4.4.1 Les conditions . 22
4.4.2 Structures conditionnelles 22
4.4.2.1 Structure If .. 22
4.4.2.2 Structure Select Case . 23
4.4.2.3 Instruction conditionnelles . 24
4.4.3 Structures répétitives .. 24
4.4.3.1 Structure While 25
4.4.3.2 Structure Do loop 25
4.4.3.3 Structure For .. 25
4.4.3.4 Structure For each .. 26
4.5 PROCEDURES ET FONCTIONS .. 26
4.5.1 Création de procédure .. 27
4.5.1.1 Déclaration . 27
4.5.1.2 Appel . 27
4.5.2 Création de fonction 27
4.5.2.1 Déclaration . 27
4.5.2.1 Appel . 28
4.5.3 Passage de paramètres .. 28
4.5.3.1 Déclaration . 28
4.5.3.2 Appel . 28
4.5.3.3 Passage par valeur et par référence 29
4.5.3.4 Passer un nombre quelconque de paramètre . 30
4.6 FONCTIONS INTEGREES . 30
4.6.1 Fonctions sur les chaînes de caractères .. 30
4.6.2 Fonctions sur les nombres 31
4.6.3 Fonctions sur les dates .. 32
4.6.4 Fonctions sur les tableaux 32
4.6.5 Fonctions de conversion 33
4.6.6 Fonction de formatage (Format) .. 33
4.6.6.1 Caractères de formatage pour les numériques .. 34
4.6.6.2 Caractères de formatage pour les dates 34
4.6.7 Les boîtes de dialogue 35
4.6.7.1 Boite de message . 35
4.6.7.2 Boîte de saisie 37
4.7 LES COLLECTIONS 38
4.7.1 Classe CollectionBase 38
4.7.1.1 Créer la collection .. 38
4.7.1.2 Utilisation 39
4.7.2 Classe Stack . 39
4.7.3 Classe Queue .. 40
4.8 GESTION DES ERREURS . 40
4.8.1 Types d’erreurs . 40
4.8.2 Gestion en ligne . 41
4.8.2.1 L’instruction On Error .. 41
4.8.2.2 L’instruction Resume 42
4.8.2.3 L’objet Err .. 42
4.8.3 Les Exceptions 43
4.8.3.1 Try, Catch & Finally . 43
5 PROGRAMMATION OBJET . 44
5.1 INTRODUCTION A LA POO .. 44
5.2 CLASSES & OBJETS 45
5.2.1 Création d’une classe . 45
5.2.2 Visibilité de la classe .. 46
5.2.3 Options d’héritage 46
5.2.5 Implements & Inherits 46
5.2.6 Création et utilisation d’objets .. 46
5.3 LES PROPRIETES 48
5.3.1 Variables .. 48
5.3.2 Procédures de propriétés . 49
5.4 LES METHODES 52
5.4.1 Généralités .. 52
5.4.2 Constructeur et Destructeur 53
5.4.2.1 Constructeur .. 53
5.4.2.2 Destructeur . 54
5.4.3 La surcharge .. 54
5.4.4 L’objet Me 55
5.5 L’HERITAGE .. 55
5.5.1 Introduction . 56
5.5.2 Mise en place .. 57
5.5.3 Objet MyBase . 58
5.5.4 Le remplacement .. 58
5.6 METHODES ET VARIABLES PARTAGEES . 59
5.7 LES INTERFACES .. 60
5.7.1 Création . 60
5.7.2 Utilisation . 61
5.7.3 Exploiter les interfaces .Net 62
5.7.3.1 Implémenter l’interface 62
5.7.3.2 Utiliser l’interface .. 63 5.8 LA DELEGATION .. 63

5.8.1 Signature de la méthode 63
5.8.2 Appel du Delegate 64
5.9 LES EVENEMENTS 64
5.9.1 Création . 64
5.9.2 Utilisation . 65
5.9.2.1 Utilisation de With Events . 65
5.9.2.2 Utilisation du gestionnaire d’événement . 66 5.10 CLASSES D’EXEMPLE .. 67
5.10.1 Classe personne .. 67
5.10.2 Classe Cadre 69
6 APPLICATIONS WINDOWS . 70
6.1 LES FORMULAIRES .. 70
6.1.1 Différents types .. 70
6.1.1.1 Windows Forms .. 70
6.1.1.2 Web forms .. 71
6.1.1.3 Modes de présentation .. 71
6.1.2 Membres de la classe Form 71
6.1.2.1 Propriétés . 73
6.1.2.2 Méthodes . 80
6.1.2.2 Evénements 81
6.1.3 Boîtes de dialogue 82
6.1.3.1 Ouverture . 82
6.1.3.2 Enregistrement . 83
6.1.3.3 Choix d’une couleur .. 84
6.1.3.4 Choix d’une police . 85
6.2 LES CONTROLES 85
6.2.1 Membres communs .. 86
6.2.1.1 propriétés . 86
6.2.1.2 Méthodes . 88
6.2.1.3 Evénements 89
6.2.2 Principaux Contrôles . 89
6.2.2.1 TextBox 89
6.2.2.2 Label .. 90
6.2.2.3 CheckBox 91
6.2.2.4 RadioButton .. 92
6.2.2.5 GroupBox et Panel . 93
6.2.2.6 Button 94
6.2.2.7 ListBox . 94
6.2.2.8 ComboBox . 95
6.2.2.9 Splitter .. 95
6.2.2.10 ImageList .. 96
6.2.2.11 Treeview 97
6.2.2.12 ListView 99
6.2.2.13 TabControl 101
6.2.2.14 Menus .. 102
6.2.2.15 DateTimePicker .. 103
6.2.2.16 Timer 103
6.2.3 Le Drag and Drop . 103
6.2.3.1 Démarrer le drag and drop .. 104
6.2.3.3 Contrôler la réception . 104
6.2.3.3 Récupérer l’élément 105
7 ACTIVEX DATA OBJECT .NET .. 106
7.1 MODE CONNECTE ET DECONNECTE .. 106
7.1.1 Mode connecté . 106
7.1.2 Mode déconnecté 107
7.2 LES FOURNISSEURS D’ACCES .. 107
7.3 L’OBJET CONNECTION 108
7.3.1 Propriétés .. 108
7.3.2 Méthodes .. 109
7.3.3 Evénements . 109
7.4 OBJET COMMAND . 110 7.5 OBJET DATAREADER .. 111
7.6 OBJET DATASET 112
7.6.1 Objet DataTable . 113
7.6.2 Objet DataColumn 113
7.6.3 Objet DataRelation .. 114
7.6.4 Travailler avec les données .. 116
7.6.4.1 Parcourir les données . 116
7.6.4.2 Insertion de données 118
7.6.4.3 Modification de données .. 119
7.6.4.4 Suppression de données 119
7.6.5 Objet DataView .. 119
7.6.6 Les évènements 120
7.7 OBJET DATAADAPTER 120
7.7.1 Création .. 121
7.7.2 Importer des données .. 121
7.7.2.1 Remplir un DataSet . 121
7.7.2.2 Mappage des données . 123
7.7.2.3 Importer la structure 125
7.7.3 Exporter des données .. 125
7.7.3.1 Mise à jour de la source de données 126
7.7.3.1 Définition des requêtes d’actualisation . 126
7.7.3.2 Déclencher la mise à jour des données .. 128
7.7.3.3 Gestion des conflits . 129
7.8 LIAISON DE DONNEES AUX CONTROLES . 132
7.8.1 Objets utilisés .. 132
7.8.1.1 DataBinding 132
7.8.1.2 ControlBindingCollection 133
7.8.1.3 BindingManagerBase . 133
7.8.1.4 BindingContext . 133
7.8.2 Liaison de données par Interface Graphique .. 133
7.8.2.1 Définir la connexion 133
7.8.2.2 Création des objets connexion et DataAdapter . 134
7.8.2.3 Générer le groupe de données 134
7.8.2.4 Lier les contrôles .. 135
7.8.2.5 Finalisation par le code . 136
7.8.3 Exemple d’application . 136
7.8.4 Formulaires de données Maitre / Détail .. 138
7.9 ADO & XML .. ERROR!BOOKMARK NOT DEFINED.
7.3.1 Schéma SXD .. Error! Bookmark not defined.
7.3.2 Lire et écrire des documents XML . Error! Bookmark not defined.
7.3.3 Synchronisation avec la source de données .. Error! Bookmark not defined.
1. Présentation
Depuis son apparition, le langage Visual Basic ainsi que ses divers environnements de développement ont su s’imposer comme les standards en matière d’outils de réalisation d’applications Windows.
1.1 Historique
Version |
Nouveautés |
1.0 |
Sortie en 91, Visual Basic innove en particulier grâce à son environnement de développement permettant de masquer les tâches fastidieuse |
3.0 |
Evolution du langage, apparition de nouvelles fonction et de structures de contrôle (select case) |
4.0 |
Sorti en 96, la version 4.0 marque une étape importante dans l’évolution du langage : - Création d’application 32 bits - Création et utilisation de DLL - Apparition des fonctionnalités Objet (Classes) |
5.0 |
Disparition des applications 16 bits et stabilité accrue du langage |
6.0 |
Peu d’évolution sur le langage mais apparition de la technologie ADO (remplaçante de DAO et RDO) et des outils de connexion aux sources de données (DataEnvironment) |
1.2 Nouveautés
La version .Net (ou version 7.0) de Visual Basic et plus généralement de l’IDE Visual Studio marquent une étape importante dans l’évolution du langage. L’élément principal de l’infrastructure .NET est le CLR (Common Language Runtime), langage offrant un ensemble de classe permettant à l’utilisateur d’interagir avec le système. Ces classes peuvent être utilisée avec n’importe quel langage .Net (Vb, C++, C#) car elle font partie d’une norme commune : le CLS (Common Language Specification).

Une autre des révolutions du .Net réside dans le MSIL (Microsoft Intermediate
Language) : les applications réalisées avec Vb .Net sont d’abord compilés en pseudo code, le
MSIL, et c’est lors de l’exécution que le compilateur (JIT pour Just In Time) compile le code MSIL afin de le rendre exécutable par le processeur utilisé. L’avantage de ce système est double :
- Gain de ressource lors de l’exécution car seules celle devant être utilisées seront chargées et de ce fait, leur installation préalable n’est pas obligatoire
- Portabilité des applications sur différentes plateformes à la manière de la machine virtuelle Java.
1.3 Installation
A l’instar de la version 6.0, développer en VB .Net requiert une configuration machine beaucoup plus importante.
Ci dessous figurent les spécifications Microsoft :
Config. Minimum |
Config Optimale |
|
Processeur |
P2 450 Mhz |
P3 733 Mhz |
Mémoire Vive (Ram) |
128 Mo |
256 Mo |
Espace Disque |
3 Gb |
3Gb |
Carte Vidéo |
800x600, 256 Couleurs |
1024x768, 65536 Couleurs |
Lecteur CD Rom |
Obligatoire |
Obligatoire |
Système d’exploitation |
Windows 2000 Windows NT 4.0 Windows Me Windows 98 |
Ces spécifications concernent l’utilisation du FrameWork .Net ainsi que de l’IDE, pas l’exécution des programmes MSIL.
2. Environnement Visual Studio
2.1 L’interface
Les habitués de Visual Studio 6.0 ne seront pas déroutés : l’interface de Visual Basic .net reprend la plupart des palettes standards avec quelques outils en plus :
- la barre d’outils regroupe les différents contrôles par catégories
- La zone centrale permet tour à tour d’écrire le code et de définir les interfaces graphiques utilisateurs
- A droite, l’explorateur de solutions et la fenêtre de propriétés
2.2 Fenêtres d’exploration
2.2.1 Explorateur de serveur
L’explorateur de serveur permet de recenser sous forme hiérarchique l’ensemble des objets d’un serveur (Serveurs SQL, journaux, Services …). Cette fenêtre est principalement utilisées afin d’accéder au schéma d’une base de données utilisée dans une application.
2.2.2 Explorateur de Solutions
L’explorateur de solutions (Ex explorateur de projet sous
VB 6.0) référence l’ensemble des éléments du projets (Fichier de configuration pour l’assemblage, super classes hérités, Feuilles….)
Une solution contient les fichiers suivants : .sln : fichier de configuration de la solution
.vbproj : fichier projet, (ancien .vbp)
.vb : fichiers contenant du code (anciens .bas, .frm, .cls)
.resx : associé à une feuille, contient les ressources
2.2.3 L’affichage de classes
L’affichage de classes liste de manière hierarchique les différentes classes du projet ainsi que leurs méthodes, propriétés, évènements et autre relations d’héritage.
2.2.4 Fenêtre de propriétés
Déjà présente dans la version 6.0, cette fenêtre recense toutes les propriétés relatives à l’objet selectionné.
2.2.5 L’aide dynamique
L’aide dynamique propose à tous les moments de la conception des rubriques d’aide utiles en fonction de ce que vous faîtes. Par exemple, la rubrique « créer une collection de contrôles » sera affichée lorsque vous ajouterez un bouton radio à votre application.
2.2.6 La liste des tâches
La fenêtre liste des tâche permet de recenser l’ensemble des tâche à réaliser sur votre projet.
Cette liste peut être remplie de plusieurs façons :
- Une tâche que vous aurez vous même définie (ex : appeler le client à 11h)
- Une tâche issue des commentaires de votre code : tous commentaires de votre code commencant par « todo: » sera automatiquement ajouté
- Lorsqu’une erreur de syntaxe est détectée par Visual Studio, elle est automatiquement ajoutée dans la liste
3. Gestion de projets
3.1 Les solutions
Une solution le plus haut conteneur logique d’éléments (projets, fichiers, feuilles, classes). Une solution peut contenir plusieurs projets.
3.2 Création d’un projet
Il est possible de créer un projet soit directement dans une solution ouverte soit dans une nouvelle solution.
• Menu Fichier > Nouveau > Projet
Principaux projets Visual Basic |
|
Type |
Description |
Application Windows |
|
Bibliothèque de classe |
|
Bibliothèque de contrôle Windows |
|
Application Smart Device |
|
Application Web |
|
Service Web |
|
Application console |
|
Service Windows |
3.3 Configuration d’un projet
Pour chaque projet de votre solution, un ensemble de propriétés sont configurables. Pour accéder aux propriétés d’un projet, clic droit sur le projet dans l’explorateur de solution et Propriétés.
Propriétés communes |
|
Propriété |
Description |
Nom de l’assembly |
Nom du fichier généré après compilation (MSIL) |
Type de sortie |
Type d’application a générer |
Objet de démarrage |
Feuille ou procédure servant de point de départ au programme |
Espace de nom racine |
Permet de définir un préfixe pour accéder à l’ensemble des classes disponibles dans le projet |
Icône de l’application |
Fichier .ico servant d’icône au fichier de sortie |
Option explicit |
Interdit l’utilisation d’une variable non déclarée |
Option Strict |
Oblige l’écriture de explicite de la conversion de données |
Option compare |
Distinction de la casse en mode binaire (pas en mode texte) |
Espaces de noms |
Permet de définir les espaces de noms qui devront être automatiquement importés dans le projet (ex : permet d’écrire « form » à la place de « » |
Chemin d’accès de référence |
Définit les dossiers dans lesquels se trouvent les références utilisées dans le projet |
Présentation page |
Mode de positionnement des contrôles : en mode Grid, le placement est libre, en mode Flow, le placement se fait dans l’ordre de création. |
Schéma cible |
Navigateur pour lequel le code HTML doit être compatible |
Langage de script Client |
Type de langage à utiliser |
Propriétés de configuration |
|
Propriété |
Description |
Action de démarrage |
Action à réaliser par l’environnement lors de la demande |
d’exécution |
|
Argument de la ligne de commande |
Permet de passer des paramètres lors de l’exécution du programme |
Répertoire de travail |
Répertoire actif pour l’application |
Débogueurs |
Débogueurs à activer lors de l’exécution |
Optimisation |
Définit un ensemble de contrôles que le compilateur ne fera pas lors de la compilation du programme |
Chemin de sortie |
Répertoire où sera généré l’exécutable ou la bibliothèque |
Activer les avertissements de génération |
Si coché, le compilateur ajoutera ses remarques à la liste des tâches |
Considérer les avertissements du compilateur comme des erreurs |
Lors de la compilation, les avertissements (Warning) fait par le compilateur stopperont la compilation (aucun fichier généré) |
Constantes de compilation conditionnelles |
Cette option permet de définir des constantes qui influeront sur les lignes compilées |
4. Bases du langage
4.1 Structure du code
Un exemple valant mieux qu’un long discours, nous allons commencer par décortiquer un programme de base avant de parcourir le langage en lui même.
4.1.1 Formulaire
Lors de la création d’un formulaire, le code suivant est automatiquement généré :
- Le code est en fait constitué de la définition d’une nouvelle classe portant le nom du formulaire.

- L’instruction « inherits » indique que la classe que nous créons doit hériter (récupérer) de tous les éléments inscrits dans la classe « form »
- Enfin, la région « Code généré par le concepteur Windows Form » contient l’appel aux méthodes de base de classe form ainsi que l’initialisation des contrôles.
Tout ajout d’éléments au formulaire (Variables, procédures, contrôles) seront ensuite perçus (selon leur visibilité) comme membres de la classe « form1 ».
4.1.2 Module
Lors de la création d’un nouveau module, le code suivant est automatiquement généré :
Tout le code contenu dans le module sera inséré entre « module » et « end module »
4.1.3 Les commentaires
Les commentaires permettent d’ajouter des annotations sur le code qui, une fois la compilation lancée, ne seront pas traitées par le compilateur et ainsi exclue du programme final.
Pour ajouter un commentaire, utiliser le caractère apostrophe « ‘ ». lorsqu’un commentaire est ajouté, tout le reste de la ligne sera un commentaire.
‘ceci est un commentaire
Dim mavar as string ‘ceci est un autre commentaire
Il n’est pas possible de créer des commentaires multilignes. Dans ce cas, vous êtes obligé de répéter le caractère apostrophe au début de chaque ligne
A noter que lorsqu’un commentaire commence par le mot clé todo:, il sera automatiquement ajouté dans la liste des tâches
‘todo: commentaire automatiquement ajouté dans la liste des tâches
4.1.4 Les régions
Les régions sont une nouvelle fonctionnalité de Visual Basic permettant de masquer une partie du code pour gagner en lisibilité.
La fonctionnalité appliquée aux région se retrouve sur chaque procédure Visual Basic : le signe + situé à gauche du nom des procédures permet de ne garder que leur déclaration.
Il est possible de créer vos propres régions avec la syntaxe suivante :
#Region ‘’libellé de la région‘’
…
#End Region
#Region ‘’Déclaration des variables’’ dim i, j as integer =0 dim nom as string #End Region |
4.2 Les variables
Les variables permettent de stocker des informations lors de l’exécution du programme.
Une variable est caractérisée par les informations suivantes
- Un nom : le nom d’une variable commence obligatoirement par une lettre, peut contenir des lettres, chiffres et le signe « _ » (underscore) avec un maximum de 255 caractères. Visual Basic ne tient pas compte de la casse (Majuscules / Minuscules)
- Un type : le type d’un variable précise le type de la valeur stockées par la mémoire
(numérique, chaîne de caractère, date …)
- Une portée : la portée d’une variable correspond à sa durée de vie
4.2.2 Déclaration de variables
La déclaration des variables permet, lors de l’exécution d’un programme de réserver l’espace mémoire nécessaire au stockage des informations. Par défaut, la déclaration des variables est obligatoire mais il est possible de la désactiver (voir les options communes de projet). Il est cependant déconseiller de la désactiver car une simple erreur de syntaxe au niveau du nom d’une variable ne sera pas interprété comme une erreur par le compilateur et de ce fait, le programme travaillera sur deux emplacements mémoire bien distincts.
La déclaration des variables se fait de la façon suivante
Dim nomvariable1, nomvariable2, nomvariable3 as type_variables = valeur_par_defaut
L’affectation d’une valeur par défaut est facultative.
Dim i as integer = 0
Dim moncar as char = ‘’i’’
Dim aujourdui as date = #12/07/02#
4.2.3 Portée et visibilité des variables
4.2.3.1 Portée des variables
La portée d’une variable est équivalent à sa durée de vie, c’est à dire tant qu’elle est accessible. La portée est définie en fonction de l’endroit où est placée sa déclaration. Quatre niveaux de portée existent :
- Niveau Bloc : si la variable est déclarée dans un bloc (boucle while, condition …), la variable ne sera valable que à l’intérieur du bloc
- Niveau Procédure : si la variable est déclarée à l’intérieur d’une procédure ou d’une fonction, elle ne sera accessible qu’à l’intérieur de cette procédure / fonction
- Niveau Module : la variable déclarée dans un module sera accessible uniquement à partir des éléments du modules (procédures, fonctions)
- Niveau projet : la variable est accessible à partir de tous les éléments du projet. Dans ce cas, il faut utiliser le mot clé « friend » à la place du mot « dim ».
4.2.3.1 Visibilité des variables
En dehors de l’emplacement où est définie la variable, plusieurs mot clés sont disponibles pour agir sur la visibilité :
- Public : tous les blocs de code peuvent accéder à la variable
- Private : seul les éléments membres de la classe ou du module peuvent y accéder
Dim i as integer
Public y as string
Private z as integer
4.2.4 Les tableaux
Un tableau est un regroupement de variables accessibles par le même nom et différentiables par leurs indices.
- Un tableau peut avoir jusqu’à 32 dimensions.
- Les indices de tableaux commencent toujours à 0.
- Lors de la déclaration d’un tableau, l’indice maximum est précisé : le tableau comportera donc (indice_max + 1) valeurs.
Dim montableau(10) as integer
Dim tableau2(5) as string
Pour accéder à un élément du tableau, il faut préciser le nom du tableau avec entre parenthèses l’indice de l’élément désiré.
Montableau(2) = 123
Tableau2(5) = ‘’toto’’
Pour cela, il faut utiliser l’instruction « Redim » suivi du nom du tableau et de sa nouvelle taille.
Redim montableau(15)
Cependant, l’instruction « Redim » ne conserve pas les données déjà présentes dans le tableau. Pour conserver son contenu, utiliser le mot clé « preserve »
Redim preserve montableau(15)
4.2.5 Les constantes
Les constantes permettent de stocker une valeur en s’assurant qu’elle ne sera jamais modifiée. Elles sont généralement utilisées pour améliorer la modularité du code en ne définissant qu’une seule fois une valeur utilisée plusieurs fois.
Il n’est pas obligatoire de préciser le type de la constante sauf lorsque l’option « Strict » du compilateur est activée.
Dim tx_tva = 19.6
Dim voyelles as string = ‘’aeiouy’’
4.2.6 Les énumérations
Les énumérations permettent de définir un type de variable dont les valeurs appartiennent à un domaine précis. Chacune des valeurs d’une énumération correspond à un entier : le premier élément de l’énumération est initialisé à 0, le second à 1 etc…
Enum civilite
Monsieur
Madame
Mademoiselle
End enum
Il est cependant possible de personnaliser les indices utilisés :
Enum jour Jeudi = 4 Lundi = 1 Dimanche = 7 … End enum |
Une fois l’énumération déclarée, il est possible de déclarer une variable du type de l’énumération.
Dim macivilite as civilite
... ... ...
4.4 Les structures de contrôle
Les structures de contrôle permettent de modifier le nombre d’exécution d’une instruction.
4.4.1 Les conditions
Une condition est une comparaison entre deux membres dont le résultat retourne True (Vrai) ou False (Faux). Une condition est composée d’au moins 2 membres (variables, constantes, appel de fonction) et éventuellement d’opérateurs logiques permettant de lier les sous conditions. Les conditions sont utilisées dans les structures de contrôle afin d’en définir leur fonctionnement.
4.4.2.1 Structure If
Plusieurs syntaxes sont possibles :
- • Forme simple
A utiliser dans le cas où vous ne souhaitez réaliser qu’une seule instruction lorsque la condition est vérifiée. Dans ce cas, la condition et l’instruction à réaliser doivent se trouver sur le même ligne.
If qte_stock < 10 then nouvelle_commande()
- • Forme normale
La forme normale permet d’exécuter plusieurs instructions lorsque la condition est vérifiée.
If qte_stock < 10 then
nouvelle_commande() prevenir_service_reception()
End if
- • Forme évoluée
La forme évoluée permet d’exécuter plusieurs instructions lorsque la condition est vérifiée et d’exécuter d’autres instructions.
If note < 10 then
Msgbox(‘’Examen échoué’’)
Else
Msgbox(‘’Examen réussi’’)
End if
4.4.2.2 Structure Select Case
La structure de contrôle Select Case permet d’effectuer un ensemble de test sur une seule valeur. Cette valeur peut-être le contenu d’une variable, le résultat d’un calcul ou d’une fonction. Le principal intérêt de cette structure est de clarifier le code : en effet, toute utilisation de cette structure peut être remplacée par un ensemble de structures If.
Les différentes possibilités de test sont les suivantes :
- Case constante : test valide si valeur = constante
- Case min to max : pour les valeurs numériques, permet de définir un interval
- Case is > constante : pour les valeurs numériques, définition d’un interval non fermé
- Case Else : cette condition sera validée si tous les tests définis dans le select case sont faux
Dim note as integer
Note = inputbox(‘’Veuillez saisir une note’’)
Select case Note
Case is <= 10
Msgbox(‘’Examen échoué’’)
Case 11 to 19
Case 20
Msgbox(‘’Excellent, tout est juste’’)
Case else
Msgbox(‘’Note invalide’’)
End Select
4.4.2.3 Instruction conditionnelles
3 autres instructions existent pour effectuer des tests :
- • Iif
L’instruction IIF permet d’évaluer une condition et de retourner des valeurs différentes en fonction du résultat de la condition.
IIF (condition, valeur_retournée_si_vrai, valeur_retournée_si_faux)
Appreciation = iif(note < 10, ‘’Echoué’’, ‘’Reçu’’)
- • Switch
L’instruction Switch regroupe plusieurs conditions et retourne le résultat correspondant pour la première condition vraie.
Switch (condition1, valeur1, condition2, valeur2 ….)
Lib_famille = Switch (code_famille=1, ‘’Info’’, code_famille=2, ‘’Consommable’’)
- • Choose
L’instruction Choose permet de choisir une valeur dans une liste en fonction d’un Index. Attention, les Index commencent à 1 !
Choose(index, valeur1, valeur2 ….)
Lib_famille = Choose(code_famille, ‘’Info’’, ‘’Consommable’’)