Sunteți pe pagina 1din 70

VISUAL BASIC .

NET :

Visual Basic .NET : tutorial

Table des matires


Section 1 : Introduction Visual Basic .NET - Structures de base................................................6
1.1 Variable et oprations arithmtiques.................................................................................................. 6
1.1.1 Notion de Variable ...........................................................................................................................................6
1.1.2 Oprateurs arithmtiques..................................................................................................................................7

1.2 Instructions conditionnelles ................................................................................................................. 8


1.2.1 If Then Else End If ............................................................................................................................8
1.2.2 IIf (Condition, ValeurSiVrai, ValeurSiFaux) .................................................................................................10
1.2.3 Select case Case Case Else Case End Select ..............................................................................10

1.3 Tableaux .............................................................................................................................................. 11


1.4 Instructions rptitives....................................................................................................................... 12
1.4.1 For To Next .........................................................................................................................................12
1.4.2 Do While Loop / Do Loop While ....................................................................................................13
1.4.3 Do Until Loop / Do Loop Until .......................................................................................................14
1.4.4 For Each Next.......................................................................................................................................15
1.4.5 Conclusion......................................................................................................................................................15

1.5 Procdures et Fonctions ..................................................................................................................... 15


1.5.1 Procdure (Transmission par valeur : ByVal) ...............................................................................................16
1.5.2 Procdure (Transmission par rfrence : ByRef) ...........................................................................................16
1.5.3 Fonction.........................................................................................................................................................17
1.5.5 Porte des variables, procdures et fonctions .................................................................................................18
1.5.6 Quelques fonctions globales...........................................................................................................................19
1.5.7 Interruption de squences ...............................................................................................................................20

Section 2. Introduction lenvironnement de dveloppement VB ................................................21


2.1 Environnement VB ............................................................................................................................. 21
2.1.1 Formulaires (Forms).......................................................................................................................................21
2.1.2 Lexplorateur des solutions ............................................................................................................................24
2.1.3 La fentre Properties.......................................................................................................................................25
2.1.4 La bote outils et les contrles standards .....................................................................................................27

2.2 Programmation par vnements ...................................................................................................... 29


2.3 Exercices .............................................................................................................................................. 33

Section 3. Les contrles ...................................................................................................................34


3.1 Concept dobjet................................................................................................................................... 34
3.2 Contrles standards............................................................................................................................ 35
3.2.1 La proprit Name ......................................................................................................................................35
3.2.2 Label...............................................................................................................................................................36
3.2.3 TextBox ..........................................................................................................................................................36
3.2.4 RadioButton....................................................................................................................................................36
3.2.5 CheckButton...................................................................................................................................................38
3.2.7 GroupBox .......................................................................................................................................................39
3.2.8 Exercices ........................................................................................................................................................41
3.2.9 ListBox ...........................................................................................................................................................42
3.2.10 ComboBox....................................................................................................................................................42
3.2.11 La proprit Items.........................................................................................................................................42
3.2.12 Exercices ......................................................................................................................................................45
3.2.13 Solution ........................................................................................................................................................47
3.2.14 Lditeur de menus .......................................................................................................................................49
3.2.14 Lditeur de menus .......................................................................................................................................49
-2-

Visual Basic .NET : tutorial

4. Les Bases de Donnes..................................................................................................................50


4.1 Notion de Table................................................................................................................................... 50
4.2 Notion de Base de Donnes ................................................................................................................ 51
4.3 Cration dune base de donnes Access............................................................................................ 51

-3-

Visual Basic .NET : tutorial


0. Introduction

Espace de travail VB
Bote outils (Toolbox)
(non active = barre grise)

Explorateur de solution

Un formulaire (Form) slectionn


de nom Form1

Fentre des proprits (Property


window). Proprits de lobjet
slectionn (Form1)

Figure 1: Environnement de dveloppement Visual Basic .NET

Pr-requis :
Ce tutorial suppose que vous soyez familier avec un langage structur de programmation (comme
le Pascal). Certains concepts seront cependant, brivement rappels.

-4-

Visual Basic .NET : tutorial

Contenu de ce tutorial:
Ce tutorial vous prsente Visual Basic (VB) .NET de manire succincte. Il vous introduit la
programmation multi-fentre sous MS Windows en vous exposant les outils de base de VB. Il
vous introduit la programmation de bases de donne.

Limites de ce tutorial:
Ce tutorial nest pas un manuel de rfrence VB .NET. Pour des fonctionnalits plus avances,
rfrez vous dautres ressources, notamment des sites Web sur internet traitant de VB .NET.

Plan de travail
Le tutorial est compos six parties qui peuvent tre tudies en six (semaines) sances. A chacune
de ces parties correspond une srie dexercices, quil faut raliser et bien assimiler avant de passer
la partie suivante.
Chaque partie ncessite approximativement deux heures de travail sur un ordinateur, pendant
lesquelles vous devez raliser les exercices correspondants.
Pour chaque partie, avant de travailler sur un ordinateur, vous devez bien lire les sections
correspondantes et essayer de bien comprendre les programmes qui y sont prsents.

Partie 1 : Sections 1 et 2. Introduction VB .NET et lenvironnement de dveloppement VB


.NET
Vous introduit lenvironnement de travail de VB .NET et la programmation avec VB
.NET.

Partie 2 : Section 3. Les contrles (toutes les sous-sections jusqu la sous-section 3.2.7)
Vous introduit la programmation des contrles Label, TextBox, RadioButton,
CheckBouton et GroupBox.

Partie 3 : Section 3. Les contrles (toutes les sous-sections jusqu la sous-section 3.2.14)
Vous introduit la programmation des contrles utilisant des listes : ListBox, ComboBox et
Menu.

Partie 4 : Section 4. Cration de bases de donnes


Vous introduit aux bases de donnes avec Microsoft Access

-5-

Visual Basic .NET : tutorial

SECTION 1 : INTRODUCTION VISUAL BASIC .NET - STRUCTURES DE


BASE

Dans cette section nous allons prsenter les structures de base de la programmation en VB. Nous
allons dabord prsenter la notion de variable, les diffrents types standards, les oprateurs
arithmtiques, les structures usuelles: structures de contrles (Instructions conditionnelles et
rptitives), les structures de donnes labores (vecteurs et matrices) et finalement, les procdures
et les fonctions.
Quelques remarques prliminaires :

Cette premire section prsente les structures thoriques de VB. Il est conseill de la
parcourir une premire fois (sans trop insister) pour avoir une ide des structures de base
de VB. Au fur et mesure que vous avancerez dans le cours, vous devez y revenir pour
approfondir la partie qui vous intresse.
Votre application VB sera compose dun ou plusieurs fichiers (formulaires et modules)
contenant du code VB.
Il nexiste pas de sparateurs dinstructions en VB (comme le ; en Pascal ou en C et le
. en Cobol).
VB ne fait pas de distinction entre les minuscules et les majuscules. Ainsi, ValeurVariable
et vALEURvARIABLE reprsentent la mme variable. En fait, VB est trs intelligent, en
ce sens quil vous rcrira (automatiquement) la variable dans le format de caractres que
vous avez utilis lors de sa dclaration.

1.1 Variable et oprations arithmtiques


1.1.1 Notion de Variable
Les variables sont ncessaires pour stocker (conserver) une valeur dynamique et rutilisable. C'est
en fait une simple zone mmoire qui porte un nom choisi par le programmeur. Le nom de la
variable est une adresse mmoire. Si lon veut une programmation cohrente, il faut dclarer
chaque variable en prcisant le type de celle-ci. La dclaration se fait avec le mot rserv Dim.
Syntaxe
Dim

NomVariable As Type

Pour la lisibilit du code, on peut ajouter un commentaire aprs une apostrophe ( )


Exemple
Dim Taux As Single
Dim Rponse As String

Ceci est un commentaire


Taux de la TVA
Mot propos par le joueur

Par dfaut, le compilateur VB considre que toute variable qui apparat doit avoir t dclare.
Toutefois, si vous ajoutez dans votre code la ligne
Option Explicit Off

-6-

Visual Basic .NET : tutorial

VB sera permissif et vous autorisera utiliser des variables sans les dclarer. Prenez la trs bonne
habitude de toujours dclarer vos variables.
Pour viter tout problme il est prfrable dinitialiser les variables dclares.
Exemples
Compteur = 0
Taux = 21

= est le symbole daffectation en VB

Le langage VB utilise plusieurs types de donnes dont les plus utiliss sont le type String (chane
de caractres), le type Integer (entier) et le type Single (dcimal). Les types standards de donnes
en VB sont rsums dans le tableau ci-dessous.
Types standards de donnes
Oprateur
Integer
Single

String

Long
Double

Plage de valeurs
Nombres entiers de 32 768 +32 767
Nombres rels avec prcision de sept dcimales
Valeurs ngatives :
de 3,402823E38 1,401298E-45
Valeurs positives:
de 1,401298E-45 3,402823E38
Chane de caractres pouvant aller jusqu'
65535 caractres (environ 2 milliards si la
longueur est variable)
Nombres entiers de
2 147 483 648 +2 147 483 647
Nombres rels avec prcision de seize dcimales
Valeurs ngatives :
De 1,79769313486232E308
4,94065641247E-324
Valeurs positives:
De 4,94065641247E-324
1,79769313486232E308

Byte

Nombres entiers de 0 255

Boolean

Vrai ou faux (valeur logique)

Date

De 1/1/100 31/12/9999

Currency

Nombres entiers
de 922337203685477,5808
922337203685477,5808

Dclaration et affectation
Dim Nb As Integer
Nb = 100
Dim Mt As Single
Mt = 45.11

Dim as String
Prnom = Jean
Dim Profit As Long
Profit = 123 465 789
Dim DblPrec As Double
Mt = 1.23456789012

Dim BitPattern As Byte


BitPattern = 128
Dim Test As Boolean
Trouv = True
Dim JourPlus As Date
JourPlus = 06/06/44
Dim Valeur As Currency

1.1.2 Oprateurs arithmtiques


VB reconnat les oprateurs arithmtiques usuels qui sont rsums dans le tableau suivant :

-7-

Visual Basic .NET : tutorial

Oprateurs arithmtiques
Oprateur
+, *
/
^
\
MOD

Description
Addition et soustraction
Multiplication
Division dcimale
Puissance
Division entire
Modulo (reste de la division entire)

Exemples
12 + 34; 87.56 387.222
45.87 * 4
36 / 25 = 1.44
5 ^ 3 =125
36 \ 25 = 1
36 MOD 25 = 11

Si, dans une expression arithmtique plusieurs oprateurs sont utiliss, les priorits sont rsolues
comme indiqu dans le tableau qui suit :
Priorit des oprateurs arithmtiques
Oprateur
( )
^
*,/
\
MOD
+, -

Description
Parenthses
Puissance
Ngation
Multiplication et division
Division entire
Modulo
Addition et soustraction

Priorit
1
2
3
4
5
6
7

1.2 Instructions conditionnelles


Les deux instructions conditionnelles le plus utilises en VB sont If et Select Case.
1.2.1 If Then Else End If
Si la condition se trouvant aprs le mot rserv If est vraie, les instructions qui suivent le mot
rserv Then sont excutes sinon, ce sont celles qui suivent le mot rserv Else qui sont
excutes. Linstruction If se termine (obligatoirement) avec les mots rservs End If.
Forme simple :
Syntaxe
If condition(s) Then
Instruction11
Instruction12

Else
Instruction21
Instruction22

End If

-8-

Visual Basic .NET : tutorial

Exemple
If Moyenne >= 12 Then
Admis = Admis + 1
MsgBox(" Candidat admis ")
Else
Ajourns = Ajourns + 1
MsgBox(" Candidat ajourn ")
End If

affiche une fentre avec le message indiqu

Forme imbrique
Syntaxe
If condition(s) Then
Instruction11
If condition Then
Instruction12
Else if condition Then
Instruction13
Else
Instruction14
End If

Else
Instruction21
Instruction22

End If

Exemple
If NombrePropos > NombreATrouver Then
MsgBox("Votre nombre est trop grand !")
ElseIf NombrePropos < NombreATrouver Then
MsgBox("Votre nombre est trop petit !")
Else
MsgBox("Gagn !")
End If

Oprateurs de comparaison
Oprateur
=
>
<
<>
>=
<=

Signification
Egal
Suprieur
Infrieur
Diffrent de
Suprieur ou gale
Infrieur ou gal

Exemple
15 = 11 + 4
17 > 11
17 < 11
23 <> 23.1
23 >= 23.1
23 <= 23.1

Rsultat
True
True
False
True
False
True

Si plusieurs conditions doivent tre testes, celles-ci doivent tre combines avec des oprateurs
logiques. VB accepte les oprateurs logiques suivants: AND, OR, NOT et XOR. La signification de
chacun deux est prsente dans le tableau qui suit:
Oprateurs logiques
Oprateur
AND

Signification
Connexion ET. Il faut que les conditions soient
vraies pour que le rsultat soit vrai
-9-

Exemple
( 1 = 1) AND (2 < 4)
( 1 > 2) AND (2 = 4)

Rsultat
True
False

Visual Basic .NET : tutorial

OR

Connexion OU. Il faut que lune des deux


( 1 = 2) OR (3 < 2)
conditions soit vraie pour que le rsultat soit vrai ( 1 > 2) OR (2 > 1)
Connexion NON. La valeur logique est inverse EstCeVrai = True
NOT EstCeVrai
Connexion OU exclusif. Une seule des deux
( 1 = 1) XOR (2 = 2)
conditions doit tre vraie pour que le rsultat soit ( 2 > 1) XOR (3 < 1)
vrai

NOT
XOR

False True
False
False
True

1.2.2 IIf (Condition, ValeurSiVrai, ValeurSiFaux)


Cette instruction (IIF) fonctionne comme le IF d'EXCEL.
Syntaxe
IIf (Condition, ValeurSiVrai, ValeurSiFaux)

Exemple
Dim Note As Single
Dim Rponse As String
Note = InputBox (" Tapez votre note ")
Rponse = IIf (Note >= 10, " Admis ", " Ajourn ")
MsgBox (Rponse)

1.2.3 Select case Case Case Else Case End Select


Linstruction Select Case est une instruction conditionnelle alternative, cest--dire quune
expression peut tre teste par rapport plusieurs valeurs possibles.
Syntaxe
Select

Case expression
Case Liste_Valeurs_1
Instruction11
Instruction12

Case Liste_Valeurs_2
Instruction21

Else Case
InstructionElse1
InstructionElse2

End Select

Les instructions se trouvant aprs Case Liste_Valeurs_i seront excutes si expression = lun
des lments de Liste_Valeurs_i, i = 1, 2, 3, . Sinon, les instructions se trouvant aprs Else
Case seront excutes. Liste_Valeurs_i peut tre :

une suite de valeurs : 1, 3, 5, 7, 9


une fourchette de valeur : 0 To 9
une plage de valeur : Is >= 10

(Is est un mot rserv)


- 10 -

Visual Basic .NET : tutorial

Exemple
Select Case CodeASCIICaractre
Case 65, 69, 73, 79, 85
MsgBox(" Cest une voyelle ")
Case 66 To 90
MsgBox(" Cest une consonne ")
Case Else
MsgBox(" Ce nest pas une lettre ")
End Select

Notez que Liste_Valeurs_i peut tre une combinaison de listes de valeurs comme dans le cas des
exemples suivants :
Case 1 To 4, 7 To 9, 11, 13, Is > NombreMAx
Case "Lundi", "Mercredi", "Dimanche", VariableJour

1.3 Tableaux
Un tableau permet de stocker une suite dlments de mme type. Laccs un lment prcis se
fait laide dun indice (valeur ou variable entire). En VB, pour un vecteur dclar avec une
dimension (N), le premier lment a lindice 0, le deuxime a lindice 2, le troisime a lindice 3,
, le dernier a lindice N1.
Syntaxe
Dim NomVecteur(N) As TypeVecteur

Cette instruction dclare un vecteur NomVecteur de taille N+1. Pour accder au ime lment du
vecteur, il faut prciser lindice entre parenthses comme suit : NomVecteur(i-1), i doit tre
compris dans lintervalle [0, N].
TypeVecteur est un type standard (Boolean, Integer, String, etc.) ou tout autre type (type dobjet)
dfinie dans VB ou dans votre application.
Exemple
Dim TabTemp(12) As Single

Numro
Temprature

1 2
6 5,5

3
4
7 11,5

5
15

L'accs la case numro 3 se fait par TabTemp(3) qui vaut 7.


Syntaxe
Dim NomVecteur(1 To N) As TypeVecteur

dclare un vecteur de N lments

Exemple
Dim TabMajuscules(65 to 90) As String
1

Pour viter toute confusion (et garder vos bonnes habitudes Pascal), dclarez toujours le vecteur avec une taille (N) et
ignorez llment lindice 0. Le premier lment ne sera jamais utilis.
- 11 -

Visual Basic .NET : tutorial

Numro
Majuscule

65 66
A B

67
C

89
Y

90
Z

VB permet de travailler avec des tableaux de deux, trois, quatre, dimensions ou plus
Exemple d'un tableau deux dimensions:
Dim ExempleMatrice(10, 10) As Single

ExempleMatrice est une matrice (de nombres rels) de 11 lignes et 11 colonnes et o


ExempleMatrice(1, 9) est llment se trouvant lintersection de la premire ligne et de la
dixime colonne 2.
Exemple de dclaration dun tableau trois dimensions:
Dim ExempleMatrice(10, 10, 10) As Single matrice trois dimensions

1.4 Instructions rptitives


Les instructions rptitives sont utilises pour boucler sur une suite dinstructions.
1.4.1 For To Next
Si le nombre de boucles est connu lavance, on utilise l'instruction For To Next.
Syntaxe
For Compteur = Dbut To Fin [Step Incrment]
Instructions
[ ... Exit For]
pour une interruption pralable de la boucle
[Instructions]
Next [Compteur]
le mot Compteur est facultatif

Le test (Compteur = Dbut) est effectu au dbut de la boucle. La variable numrique Compteur
est incrmente chaque fin de boucle du nombre indiqu par lincrment. Si lIncrment (le pas
par lequel Compteur augmente chaque boucle) nest pas spcifi, il est fix par dfaut 1.
Si la valeur de Fin est infrieure la valeur de Dbut, lincrment est ngatif. La valeur de
Compteur peut tre utilise (par exemple, pour numroter le passage dans la boucle) mais ne doit
pas tre modifie dans le corps de la boucle.
Exemple
Dim
Dim
Dim
For

i As Integer
Chane As String
TabInitial(1 To 12) As Single
i = 1 To 12
Chane = InputBox("Temprature N " & Compteur)

Aussi, pour viter toute confusion (et garder vos bonnes habitudes Pascal), dclarez toujours la matrice avec une
dimension N*N et ignorez la ligne et la colonne lindice 0.
- 12 -

Visual Basic .NET : tutorial


TabInitial(i) = Chane
Next i

le i nest pas obligatoire

1.4.2 Do While Loop / Do Loop While


Test antrieur
Syntaxe
Do While Condition
Instructions
[... Exit Do]
[Instructions]
Loop

La condition est ici teste au dbut, c'est--dire lentre de la boucle. Avec While (tant que), la
boucle est rpte tant que la condition est vraie. Si la condition nest pas vraie au dpart, les
instructions de la boucle ne sont pas excutes.
Exemple
Do While MotPropos <> MotDePasse
MotPropos = InputBox("Donnez votre mot de passe")
Loop

Cela prsuppose que MotPropos soit initialis par une valeur autre que MotDePasse (par exemple,
la valeur par dfaut "").
Test postrieur
Syntaxe
Do
Instructions
[... Exit Do]
[Instructions]
Loop While Condition

La condition est alors teste la fin de la boucle. Avec While (tant que), la boucle est rpte tant
que la condition est vraie. Les instructions de la boucle sont donc excutes au moins une fois.
Exemple
Do
MotPropos = InputBox("Donnez votre mot de passe")
Loop While MotPropos <> MotDePasse

Cet exemple ne prsuppose aucune initialisation de MotPropos.

- 13 -

Visual Basic .NET : tutorial

1.4.3 Do Until Loop / Do Loop Until


Test antrieur
Syntaxe
Do Until Condition
Instructions
[... Exit Do]
[Instructions]
Loop

La condition est ici teste au dbut, c'est--dire lentre de la boucle. Avec Until (jusqu'), la
boucle est rpte jusqu' ce que la condition soit vraie. Si la condition est vraie au dpart, les
instructions de la boucle ne sont pas excutes.
Exemple
Do Until MotPropos = MotDePasse
MotPropos = InputBox("Donnez votre mot de passe")
Loop

Cela prsuppose que MotPropos soit initialis par une valeur autre que MotDePasse (par exemple,
la valeur par dfaut "").
Test postrieur
Syntaxe
Do
Instructions
[... Exit Do]
[Instructions]
Loop Until Condition

La condition est alors teste la fin de la boucle. Les instructions de la boucle sont donc excutes
au moins une fois. Avec Until (jusqu'), la boucle est rpte jusqu' ce que la condition soit vraie.
Exemple
Do
MotPropos = InputBox("Donnez votre mot de passe")
Loop Until MotPropos = MotDePasse

Cet exemple ne prsuppose aucune initialisation de MotPropos.

- 14 -

Visual Basic .NET : tutorial

1.4.4 For Each Next


Cest une extension de la boucle For ... To Next.
Syntaxe
For Each Elment In Ensemble
Instructions
[ ... Exit For]
[Instructions]
Next [Elment]

Ensemble est le plus souvent un tableau.


Exemple
Dim TabHasard(100) As Integer
Dim Cellule As Integer
Dim Rponse As String
Randomize
initialise le gnrateur de nombres au hasard
For Each Cellule In TabHasard
Cellule = Rnd * 100 + 1
gnre un nombre au hasard entre 1 et 100
Next
For Each Cellule In TabHasard
Rponse = Rponse & Cellule & " " Concatnation de chanes de caractres
Next
MsgBox (Rponse)

1.4.5 Conclusion
Selon le problme traiter, vous aurez le choix entre ces diffrentes structures de contrle. Il
s'agira de choisir la plus lgante ou du moins, celle qui ne provoquera pas de dysfonctionnement
de votre programme.
Trouvez les erreurs dans les exemples suivants :
Exemple 1:
Dim VotreRponse As String
Rponse = "LaRponse"
Do
VotreRponse = InputBox("Donnez votre rponse")
Loop While VotreMot = Rponse

Exemple 2
Dim Cote As Single
Do Until Cote >= 0 And Cote <= 20
Cote = InputBox("Taper une note entre 0 et 20")
Loop

1.5 Procdures et Fonctions


Comme dans le cas du langage Pascal, VB .NET permet lutilisation des procdures et des
fonctions avec ou sans paramtres. Rappelez vous que la grande diffrence entre la procdure et la
fonction est que cette dernire retourne une valeur lorsquelle est appele.
Lors de lappel de la procdure, un paramtre peut tre transmis soit par valeur, soit par rfrence
(variable).
- 15 -

Visual Basic .NET : tutorial

1.5.1 Procdure (Transmission par valeur : ByVal)


Pour transmettre un paramtre par valeur, celui-ci doit tre obligatoirement prcd par le mot
rserv ByVal. Sinon, il est considr de passer par rfrence.
Syntaxe
Private Sub NomProcdure( ByVal
Instruction1
Instruction2

argument As Type, )

End Sub
Exemple
Private Sub Affectation( ByVal valeur1,valeur2 As integer)
Dim Chane As String
Chane = "La somme de " & valeur1 & " et " & valeur2 & " = "
valeur1 = valeur1 + valeur2
Chane = Chane & valeur1
MsgBox (Chane)
End Sub

Lappel de la procdure se fait soit en inscrivant call suivi du nom de la procdure, et des
paramtres lui transmettre, soit en crivant uniquement le nom de la procdure, suivi des
paramtres lui transmettre.
Dim X As integer
Dim Y As integer
Call Affectation (X, Y)
avec les parenthses
MsgBox (" Et X = " & X & " n'a pas chang ")

1.5.2 Procdure (Transmission par rfrence : ByRef)


Si ByVal nest pas prcis ou si le paramtre est prcd par le mot rserv ByRef, la variable est
transmise par rfrence (c'est--dire transmise en tant que variable). Ainsi, toute modification de la
variable locale correspondante dans la procdure se rpercute sur la variable utilise lors de
lappel. VB suppose que la transmission se fait par rfrence si le mot rserv ByVal est omis.
Exemple
Private Sub Transvase ( valeur1 As Integer, valeur2 As Integer )
Dim variable As Integer
variable = valeur1
valeur1 = valeur2
valeur2 = variable
End Sub

Lappel suivant transvase le contenu de X dans Y et inversement.


Exemple
Dim X As Integer, Y As Integer
X = 100
Y = 200
MsgBox (" X = " & X & " et Y = " & Y)
Transvase(X, Y)
MsgBox (" Alors que maintenant X = " & X & " et Y = " & Y)

- 16 -

Visual Basic .NET : tutorial

1.5.3 Fonction
Lors de la dclaration d'une fonction, la valeur qui doit tre retourne par celle-ci doit tre affecte
au nom de la fonction. La dclaration de la fonction se termine par les mots rservs End
function.
Syntaxe
Private function NomFonction( Argument As Type, ) As Type
Instruction1
Instruction2

NomFonction = RsultatDeLaFonction
End function

Exemple
Private function Somme( valeur1 As Integer, valeur2 As Integer ) As integer
Somme = Valeur1 + valeur2
End function

Lappel suivant retourne la somme de X et Y et affecte le rsultat la variable Z.


Exemple
Dim
X =
Y =
Z =

X As Integer, Y As Integer, Z As Integer


10
20
somme(X, Y)

1.5.4 Transmission dun tableau comme argument dune procdure ou dune fonction
Pour transmettre un tableau comme argument dune fonction ou dune procdure, il suffit de
dclarer ( lintrieur des parenthses) une variable (le nom local du tableau) sans type, ni
dimension. Lors de lappel de la fonction ou de la procdure, VB donne cette variable le type et
la taille du tableau envoy. On peut aussi utiliser comme type de la variable locale, le type Variant.
Comme tout variable, un tableau peut tre envoy par valeur ou par rfrence.
Ci-aprs vous trouvez un exemple de dclaration dune procdure qui reoit un vecteur (passation
par rfrence: par dfaut).
Exemple
Private Sub Init(vec)
Dim i As Integer
For i = 1 To 10
vec(i) = 0
Next
End Sub

ou Private Sub init(vec As Variant)

Lappel de la procdure avec un vecteur comme argument se fait comme pour toute variable.
Exemple
Dim vecteur(10) As Integer
Call Init(vecteur)

- 17 -

Visual Basic .NET : tutorial

1.5.5 Porte des variables, procdures et fonctions


Une application VB peut tre compose dun ou de plusieurs formulaires et dun ou de plusieurs
modules. Dans chaque module ou formulaire, des variables, des procdures et/ou des fonctions
peuvent tre dclares. Dans chaque procdure et fonction, des variables locales peuvent tre
dclares.
Une fonction ou une procdure peut tre dclare soit Prive (Private), soit Publique (Public). Le
sens de Priv ou Public se comprend par rapport au formulaire ou au module dans lesquelles elles
sont dclares.
Se pose alors le problme de la porte des variables, des fonctions et des procdures.
Si une variable est dclare au dbut de la procdure (fonction) qui la manipule (Dim ou Private),
elle nest alors valide que pour cette procdure (fonction). L'existence et la valeur de la variable
disparaissent avec l'instruction End Sub (End Function). Toute rfrence cette variable en dehors
de cette procdure (fonction) provoquera une erreur de compilation. Si une variable est dclare
dans la section des dclarations dun module (formulaire), elle est valide dans toutes les procdures
(fonctions) du module (formulaire).
Une variable peut aussi tre dclare Public ou Global et sera alors valide pour toute lapplication.
Exemple :
Global MotInitial As String premier mot traiter

Le tableau qui suit rsume la porte des variables, des procdures et des fonctions en fonction du
type de dclaration (Dim, Private ou Public) et de lendroit o la dclaration a eu lieu.
Porte des variables, procdures et fonctions
Type
Variable
Variable

Dclar dans
Procdure vnementielle
Procdure / fonction gnrale du
formulaire
Variable
Procdure / fonction gnrale de
module
Variable
Partie gnrale dun formulaire
Variable
Partie gnrale dun module
Variable
Procdure vnementielle
Variable
Procdure gnrale dun formulaire
Variable
Procdure gnrale de module
Variable
Partie gnrale dun formulaire
Variable
Partie gnrale dun module
Procdure / Partie gnrale dun formulaire
fonction

Mot cl
Dim
Dim

Porte
Procdure vnementielle
Procdure / fonction gnrale

Dim

Procdure / fonction gnrale

Dim/private
Dim/private
Private/Public
Private/Public
Private/Public
Public
Public
Private

Formulaire
Module
Interdit
Interdit
Interdit
Formulaire
Projet
Formulaire

- 18 -

Visual Basic .NET : tutorial

Procdure / Partie gnrale dun module


fonction
Procdure / Partie gnrale dun formulaire
fonction
Procdure / Partie gnrale dun module
fonction

Private

Module

Public

Formulaire

Public

Projet

1.5.6 Quelques fonctions globales


Les deux tableaux suivant rsument quelques fonctions mathmatiques et quelques fonctions pour
la manipulation des chanes de caractres.
Fonctions mathmatiques
Fonction
Utilit
Abs(Nb)
Donne la valeur absolue du nombre
Atn(Angle) Donne larc tangente de langle
Cos(Angle) Donne le cosinus de langle
Exp(Nb)
Donne lexponentielle du nombre
Fix(Nb)
Tronque les dcimales du nombre
Int(Nb)
Log(Nb)
Sgn(Nb)
Sin(Angle)
Sqr(Nb)
Tan(Angle)
Round(Nb)

Exemple
Abs (- 89) = 89
Atn(0) = 0
Cos(0) = 1
Exp(1) = 2.71828
Fix(-4.6) = -4
Fix(4.6) = 4
Donne la partie entire du nombre
Int(-4.6) = -5
Int et Fix ne diffrent que pour les valeurs suprieures 0 Int(4.6) = 4
Donne le logarithme naturel (base e)
Log(1) = 0
Donne le signe du nombre : 1, 0 ou 1
Sgn(- 89) -1
Donne le sinus du nombre
Sin(0) = 0
Donne la racine carre du nombre
Sqr(4) = 2
Donne la tangente de langle
Tan(0) = 0
Arrondi la valeur
Round(4.5) = 4
suprieure si (Nb - Int(Nb) ) > 5
Round(4.51) = 5
infrieure si (Nb - Int(Nb) ) <= 5

Fonctions de chane de caractres


Fonction
Utilit
Asc(Car)
Donne le code ASCII dun caractre
Chr(N)
Donne le caractre correspondant au code ASCII
Len(Chane)
Donne la longueur dune chane
Lcase(Chane)
Transforme la chane en minuscules
UCase(Chane)
Transforme la chane en majuscules
LTrim(Chane)
Supprime les espaces de tte
RTrim(Chane)
Supprime les espaces de fin
Trim(Chane)
Supprime les espaces de tte et de fin
Left(Chane, N)
Renvoie les N caractres de gauche
Right(Chane, N)
Renvoie les N caractres de droite
Mid(Chane, Pos, N) Renvoie N caractres partir de la position Pos
InStr(Chane, Car) Renvoie la position de la premire occurrence du
caractre dans la chane ou la valeur 0 si la
chane ne contient pas le caractre
Str(N)
Convertit N en chane de caractres
- 19 -

Exemple
Asc(A) = 65
Chr(65) = A
Len (Orange) =6
Lcase(ABC)= abc
Ucase(abc)= ABC
LTrim( Hello)=Hello
LTrim(Hello )=Hello
Trim( Hello )=Hello
Left(Auto,2)= Au
Right(Auto,2)= to
Mid(Locom, 3, 2) = co
InStr (Locom,o) = 2
InStr (Locom,a) = 0
Str(123) = 123

Visual Basic .NET : tutorial

String(N, Car)
Space(N)
Val(Chane)

Gnre N fois le caractre spcifi

String(5, A) =
AAAAA
Gnre des espaces
Space(4) =
Convertit en nombre les chiffres dune chane (la Val(123) = 123
conversion sarrte au premier caractre qui
Val(123abcd) = 123
nest pas un chiffre, ou 0 sil ny a pas de
Val(abcd123) = 0
chiffre en tte)

1.5.7 Interruption de squences


Pour interrompre lexcution dune squence dinstructions (dans une fonction, procdure ou
boucle For), on utilise linstruction Exit. Le tableau suivant rsume son utilisation.
Les possibilits dinterruption de squences
Instruction
Exit function
Exit Sub
Exit For
Exit Do

Port
Limite la fonction

Description
Interruption de la fonction, sans excution des
instructions restantes
Limite la procdure Interruption de la procdure, sans excution des
instructions restantes
Limite la boucle For Interruption de la boucle, sans excution des
instructions restantes
Limite la boucle Do Interruption de la boucle, sans excution des
instructions restantes

- 20 -

Visual Basic .NET : tutorial

SECTION 2. INTRODUCTION A LENVIRONNEMENT DE DEVELOPPEMENT


VB
La programmation en Visual Basic (VB) se fait principalement (comme le nom du langage
lindique) de manire visuelle. Vous serez cependant souvent amens (mettre la main la pte et)
programmer en crivant du code VB.
VB est avant tout un environnement de dveloppement dapplications informatiques. VB (entre
autres) offre:

un environnement graphique de dveloppement permettant de dvelopper visuellement une


grande partie de votre application. Voir figure 1
un langage de programmation orient objet (voir plus loin le concept dobjet)
des composants logiciels (ActiveX) ou des librairies (pr-programmes) trs puissants et
prts tre intgrs et utiliss dans votre application. On verra par la suite quune grande
partie de votre apprentissage de VB consistera apprendre lutilisation de ces composants
logiciels (contrles)
la possibilit dintgrer aisment de nouveaux composants ActiveX dvelopps dans le
commerce
une grande facilit pour dvelopper de nouveaux composants ActiveX

VB est devenu grce ces atouts un langage de programmation trs utilis de par le monde,
supplantant un grand nombre de langages de programmation.
Pour rentrer dans le vif du sujet, nous allons regarder de quoi sera compose votre application
(programme) VB. Celle-ci sera compose, entre autres, de deux parties essentielles: un ou plusieurs
formulaires (la partie visuelle ou graphique) et le code VB (des formulaires et modules).

2.1 Environnement VB
2.1.1 Formulaires (Forms)
La partie visuelle de votre application ou projet est compose principalement dUN ou de
PLUSIEURS formulaires (Forms). Un formulaire nest rien dautre quune fentre (Window). Les
figures 1 et 2 prsentent des exemples de formulaires.

- 21 -

Visual Basic .NET : tutorial

(a) Lors de la conception

(b) Lors de lexcution

Figure 2 : Exemple dun formulaire vierge

Pratique.
Pour dmarrer VB, double cliquez sur licne VB6.exe
La fentre qui apparat alors lcran vous propose soit douvrir un projet existant, soit de crer un
nouveau projet (new project) (figure 3).

Figure 3 : Fentre de choix douverture ou de cration de projet


- 22 -

Visual Basic .NET : tutorial

Lorsque vous faites un nouveau projet, il vous reste choisir le type de projet que vous allez crer
(Visual Basic Projects sur la gauche de lcran), le modle utilis (Application Windows) ainsi
que le nom associ ce projet et lemplacement sur le disque o seront stockes ces informations
(attention, sur les ordinateurs de lIAG, vous ne pouvez enregistrer que sur le disque L)

Figure 4 : Fentre de cration dun nouveau Projet

- 23 -

Visual Basic .NET : tutorial

Il est galement toujours possible de crer un nouveau projet en slectionnant dans la barre
du menu VB, File, New Project.

Figure 5 : Projet nouvellement cr, compos dun seul formulaire vierge (Form1)
VB va crer un projet compos dun formulaire portant un nom gnr automatiquement : Form1,
voir figure 5.
Lenvironnement VB est compos de trois types dlments :
une zone de barre de menus et de barres doutils,
une zone de travail central
une multitude de fentres qui gravitent autour, constituant les diffrents outils mis votre
disposition pour travailler
2.1.2 Lexplorateur des solutions
Lexplorateur des solutions prsente de manire arborescence et visuelle les objets composant
lapplication charge. La figure 6(a) montre que le projet de nom WindowsApplication8 est
compos dun seul formulaire de nom Form1.

- 24 -

Visual Basic .NET : tutorial

Figure 6(a): Lexplorateur des solutions

Figure 6(b): Fentre des proprits du projet


Les Forms constitueront les objets principaux qui composeront vos projets dans ce cours. Notez
quun projet peut tre compos dun ou de plusieurs formulaires. Dans ce dernier cas, il faut
prciser VB le formulaire qui sera charg en premier, en cliquant sur le nom du projet avec le
bouton droit de la souris et ensuite sur Properties, voir figure 6(b) o le projet est compos de deux
formulaires, Form1 et Form2.
2.1.3 La fentre Properties
La fentre Properties prsente les proprits (ou attributs) de lobjet slectionn. La figure 6
prsente les proprits de lobjet (slectionn) Form1.
On peut citer quelques proprits de Form1 et leurs valeurs respectives:
- 25 -

Visual Basic .NET : tutorial

Name = Form1, nom logique utilis pour rfrencer lobjet dans du code VB.
BackColor = &H800000, couleur de fond de lobjet Form1.
Text = Form1, nom qui apparat visuellement sur lobjet, celui-ci peut tre diffrent de la
proprit Name.
Proprits de lobjet Form1 (un formulaire)
Proprits tries par ordre alphabtique

Nom dune proprit


Valeur dune proprit

Figure 7: Fentre Properties


Notez que la valeur de chaque proprit peut tre modifie en cliquant sur la colonne de droite de
la fentre Properties.
Pratique. Modifiez la valeur des proprits suivantes :

Text = Convertisseur FB en Euro,


BackColor = votre guise,
Etc.
N.B. Ne modifiez que les proprits dont vous comprenez le sens

- 26 -

Visual Basic .NET : tutorial

2.1.4 La bote outils et les contrles standards

La partie graphique de votre application va contenir un (ou plusieurs)


formulaire(s). Sur un formulaire, on peut placer un ou plusieurs objets
graphiques ou ce quon appellera des contrles (Bouton cliquer,
Champ libell (texte statique), Champ texte saisir au clavier, Menu,
etc.).
Ces contrles sont des objets pr-programms dont lutilit principale
est de faciliter linteraction avec lutilisateur. Chacun de ces objets
graphiques a une fonctionnalit bien prcise. Le tableau suivant
rsume les contrles standards de base les plus utiliss:

Figure 8 : Toolbox
Contrle

Nom du contrle
Label
Text Box
Button
ListBox
ComboBox
PictureBox
RadioButton
Check Box
GroupBox

Utilit
Afficher un texte statique : un libell
Afficher et rentrer une valeur au clavier
Lancer lexcution une procdure vnementielle
Afficher une liste statique de valeur
Combiner lutilit des contrles TextBox et ListBox
Afficher une image dans un cadre. Celui-ci peut tre
redimensionn en fonction de limage (Autosize = True)
Slectionner une option. Si utilis en plusieurs instances
(Option Button), une seule peut tre choisie
Slectionner une option. Si utilis en plusieurs instances
(Check Box), une ou plusieurs peuvent tre choisies
Crer une fentre au sein dun formulaire et crer un groupe
de contrles.

Les contrles standards dans VB se trouvent dans la Bote outils (ToolBox), voir figure 8.
Dautres contrles plus labors (Components) peuvent tre ajouts dans la bote outils, en
slectionnant dans la barre du menu : Project, Add Components.
Comment placer un contrle sur un formulaire ?
- 27 -

Visual Basic .NET : tutorial

Slectionnez dans la bote outils le contrle dsir. Dessinez sur le formulaire le


rectangle dans lequel vous voulez placer le dit contrle. Pour ce faire, cliquez (sans
relcher) sur le bouton gauche de la souris, sur le coin haut gauche du rectangle et
dplacez la souris vers le coin bas droit du rectangle puis relchez le bouton de la souris.
Le contrle apparat par magie sur le formulaire.
Comment dplacer un contrle ou le redimensionner ?
Slectionnez dabord (en cliquant dessus) le contrle plac sur le formulaire. Glissez le
vers lendroit dsir ou cliquez et tirez sur lun des huit petits carrs bleus dlimitant
lobjet slectionn (le contrle Label Euro est slectionn dans la figure 8).
Chaque contrle peut tre vu comme un objet dfini par un ensemble de proprits. Quand un
contrle, plac sur un formulaire, et slectionn, ses proprits apparaissent dans la fentre
Properties.
De manire gnrale, une fois quun objet est slectionn, ses proprits apparaissent dans la
fentre Properties. Notez que certains objets (contrles, formulaires, etc.) ont les mmes
proprits, par exemple Name et Text, mais ont bien videmment des valeurs diffrentes qui leurs
sont propres.
Pratique. Placez les contrles suivants sur le formulaire qui a t cr:
Contrle
Label
TextBox
Label
CommandButton
CommandButton

Proprit
Text
Name
Text
Text
Text

Valeur
FB
Franc_Belge
Euro :
Convertir
Sortir

Modifiez leurs positions et leurs proprits pour que le formulaire apparaisse comme suit :

Figure 9 : Exemple de conception dun formulaire


Nous venons de crer un programme (graphique et statique) sans crire aucune ligne de code VB.
Celui-ci peut dtre excut. Ce programme ne fait quafficher une boite de dialogue ayant la
forme de la figure 9. Pour lui donner vie (lui faire faire ce qui est dsir), cest--dire convertir du
Franc Belge en Euro, il faudra mettre la main la pte et crire du code VB.
Comment excuter votre programme ?
Pour excuter un programme, appuyez sur la touche F5 ou slectionnez dans la barre de
menu, Run, Start, ou cliquez sur le bouton Start.
Comment arrter lexcution dun programme ?
- 28 -

Visual Basic .NET : tutorial

Pour arrter lexcution de votre programme, cliquez sur la petite croix situe en haut
droite du formulaire ou cliquez sur le bouton End.

2.2 Programmation par vnements


A la diffrence de la programmation squentielle, o les instructions sexcutent de manire
squentielle, VB est un langage qui permet de raliser de la programmation par vnements, cest-dire programmer des procdures qui sexcutent quand un vnement est dclench. La plupart
du temps, lvnement est dclench par lutilisateur du programme.
Quand on travail dans un environnement multifentrs (Windows) chaque fois, quon clique sur la
souris, quon ouvre ou ferme une fentre, quon appuie sur une touche du clavier, on dclenche un
vnement auquel le programme utilis ragit. La programmation par vnements consiste
programmer ce que le programme doit faire quand un vnement particulier survient.
A chaque objet VB (contrle, formulaire, etc.) peut tre associ une ou plusieurs procdures
vnementielles crites avec le langage de programmation VB.
Procdures vnementielles (Private Sub NomObjet_NomEvnement End Sub)
Une procdure vnementielle nest rien dautre quune procdure classique mais qui sexcute
quand un EVENEMENT particulier se produit 3.
La dclaration de lvnement NomObjet_NomEvnement() se fait comme suit (voir syntaxe), o
NomObjet est le nom de lobjet auquel est rattach lvnement NomEvnement. Comme dans une
procdure classique, aucun, un ou plusieurs paramtres et leurs types respectifs peuvent tre
dclars entre parenthses.
Pour attacher une procdure vnementielle un objet, il suffit de double cliquer sur celui-ci.
VB inscrit alors la dclaration de la procdure avec des paramtres par dfaut (ne pas mofifier ces
paramtres).
Syntaxe

Private Sub NomObjet_NomEvnement( Argument As Type, )


Instruction1
Instruction2

End Sub

Un ensemble dvnements peut tre rattach chaque type dobjet. Ci-dessous quelques exemples
dvnements :
Evnement
Click
DblClick
Load
Change
MouseDown
3

Se produit quand
On clique sur le bouton gauche de la souris
On double clique sur le bouton gauche de la souris
Lobjet NomObjet est charg
La valeur stocke par lobjet Nomobjet change
On clique sur la souris sans relcher le bouton

Notez quune procdure vnementielle peut tre aussi appele dans du code comme une procdure classique
- 29 -

Visual Basic .NET : tutorial

MouseUp
MouseMove
KeyDown
MouseUp
MousePress

On a relch le bouton de la souris


On a boug la souris
On a appuy sur une touche du clavier sans la relcher
On a relch une touche du clavier
On a appuy sur une touche du clavier et on la relch

A chaque formulaire sera associ un fichier logique portant le nom Nom_Formulaire, voir figure
10. Celui-ci contiendra le code VB des diffrentes procdures relatives aux vnements associs au
formulaire en question ainsi quaux diffrents objets qui lui sont rattachs.

Figure 10 : Fentre du code VB relative au formulaire Convertisseur


Comment attacher une procdure vnementielle Load un formulaire ?
Pour attacher une procdure vnementielle un formulaire, double cliquez sur celui-ci (et
non pas sur un des contrles qui le composent). VB ouvre alors une fentre textuelle et
place le curseur dans le cadre dune procdure vnementielle particulire :
Form_Load().
Form_Load()
La procdure de nom Form_Load() sexcute lors du chargement du formulaire
correspondant, cest--dire avant que le formulaire napparaisse lcran.
Pratique. Placez les deux lignes de codes comme indiqu la figure 10 (entre les deux lignes
Private Sub Form_Load() et End Sub). Ainsi, avant que le formulaire napparaisse lutilisateur,
Franc_Belge.Text et Euro.Text seront initialiss 40.3399 et "Euro : 1" (voir figure 9).
- 30 -

Visual Basic .NET : tutorial

Excutez votre programme pour noter leffet de linitialisation. Y-a-t il moyen dinitialiser sans
crire du code ?
Pratique.
a. On dsire que, lorsque lutilisateur clique sur le bouton Convertir (figure 9), une
procdure sexcute et convertisse le montant dans la zone Franc_Belge et donne le
montant quivalent en Euro (dans la zone label).
b. On dsire que, lorsque lutilisateur clique sur le bouton Quitter (figure 9), une procdure
sexcute et ferme la fentre. Linstruction End ferme une fentre.
Excutez votre programme, introduisez un montant en Franc Belge et appuyez
Convertir.

sur

Figure 11 : Fentre du code VB relative au formulaire Convertisseur (suite)

Comment Sauver votre travail ?


Slectionnez dans la barre du menu : File, Save Project as. VB vous demandera de donner
un nom votre projet et, chaque formulaire et module, le composant.
Lintrt de donner un nom chaque formulaire et module rside dans le fait quun formulaire ou
un module peut tre rutilis dans des projets diffrents.

Comment ajouter un nouveau formulaire dans un projet ?


Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fentre
Projet, slectionnez dans le menu propos : Add, Windows form.
Comment ajouter un formulaire existant dans un projet ?
Cliquez avec le bouton droit de la souris sur le mon du Projet se trouvant dans la fentre
Projet, slectionnez dans le menu propos : Add, Add Existing Items. Slectionnez le nom
du fichier correspondant au formulaire recherch, puis appuyez sur Open.
Comment retrouvez les diffrentes fentres (ToolBox, Project, Properties) ?
- 31 -

Visual Basic .NET : tutorial

Si ces fentres sont fermes vous pouvez toujours les ouvrir en slectionnant dans le barre
du menu, View (Toolbox, Project Explorer, Properties Windows).

En rsum
Les objets manipuls sont appels des contrles (bouton de commande, bote de dialogue,
zone de texte, zone d'image, etc. )
L'interface utilisateur cre est multifentre. Une fentre est appele un formulaire
(Form). Un formulaire est lui-mme un contrle.
Chaque contrle peut ragir des vnements qui lancent des procdures (ddies) codes
en VB.
Des modules gnraux de code peuvent porter sur tout le programme. Ces modules sont
rutilisables.

- 32 -

Visual Basic .NET : tutorial

2.3 Exercices
a. Ralisez les parties pratiques des sous-sections prcdentes
b. Modifiez le programme de conversion pour quil puisse convertir dans les sens FB->Euro et
Euro->FB. Votre formulaire doit apparatre comme suit :

Figure 12 : Exercice programmer


c. Modifiez votre programme et placez avant linstruction, End, linstruction suivante :
MsgBox(Je termine et je sors, confirmez avec OK)
d. Aprs cette introduction, vous tes censs tre capable de rpondre aux questions suivantes :
1.
2.
3.
4.
5.

Quest ce quun formulaire ?


De quoi sera compos votre application VB ?
Quest ce quun contrle ? Donnez des exemples.
Comment placer un contrle sur un formulaire ?
Quest-ce quune procdure vnementielle ? Donnez quelques exemples de procdures
vnementielles.
6. Comment associer une procdure vnementielle un contrle ?
7. Quant la procdure vnementielle Click() sexcute-t-elle ?
8. Quant la procdure vnementielle Load() sexcute-t-elle ?
9. Quest ce quun objet ? Donnez des exemples dobjets en VB.
10. Quest ce quune proprit? Donnez des exemples de proprits.
11. Comment changer la proprit dun objet ?
12. Quelle est la diffrence entre la proprit Name et la proprit Text?
13. Quel est le lien entre la proprit Name du contrle TextBox et la proprit Name du
contrle Label?
14. Quel est le lien entre la proprit Name du contrle TextBox et la proprit Name du
formulaire dans lequel il se trouve?
15. Comment excuter et fermer votre application ?
16. Quel est lintrt de sauver chaque formulaire sous un nom particulier ?
17. Comment ajouter un nouveau formulaire (vierge) un votre projet ?
18. Comment ajouter un formulaire existant un votre projet ?
19. Comment sauver votre projet et le recharger nouveau ?
20. Que fait linstruction MsgBox(Chane de caractres) ?
21. Quelle est la diffrence majeur entre une procdure et une fonction ?
22. Comment effectuer une transmission de paramtre(s) par rfrence ?

- 33 -

Visual Basic .NET : tutorial

SECTION 3. LES CONTROLES


3.1 Concept dobjet
Le concept dobjet
Comme vous lavez et vous allez encore le constater, le terme OBJET est souvent cit dans ce
texte, et ceci est loin dtre le fruit du hasard. En effet, VB .NET est un langage orient objet,
cest--dire que toute CHOSE que vous aurez manipuler et utiliser nest rien dautre quun
OBJET indpendant. Un objet est dfini par un nom et un certain nombre de proprits. Il est aussi
dfini par un ensemble de mthodes (procdures ou fonctions).
Notez bien que les proprits et les mthodes qui dfinissent lobjet ne peuvent tre invoques
quen spcifiant le nom de celui-ci.
Le concept de proprit dun objet
Une proprit dun objet est un attribut ou une caractristique de celui-ci. Chaque proprit porte
un nom (attribut ou variable) et a une valeurqui lui est associe. La figure 7 montre une partie des
proprits de lobjet portant le nom Form1. Comme proprit dun objet, on peut citer: nom,
forme graphique, dimension, couleur, structure de donnes associe, etc.
Pour accder la proprit dun objet avec du code VB, il faut obligatoirement prciser le nom de
lobjet suivi dun point suivi du nom de la proprit en question. On peut ainsi distinguer et utiliser
les mme priorits appartenant des objets diffrents. Pour accder et modifier les proprits dun
objet, on procde comme dans l'exemple suivant :
Exemple
Form1.Text = Convertisseur FB en Euro
Form1.BackColor = &H800000
Label1. Text = Entrez votre texte
Button. Text = Franc Belge
Pour les objets existants lors du dveloppement, leurs proprits peuvent aussi tre modifies
laide de la fentre de proprits : Properties, voir figure 7.
Le concept de mthode dun objet
Une mthode dun objet est une fonction ou une procdure rattache lobjet en question. Pour
tre appele, comme dans le cas de la proprit, elle doit tre prcde par le nom de lobjet
correspondant suivi dun point.
Syntaxe
NomObjet.NomProcedure( paramtre1, paramtre2, )
Variable = NomObjet.NomFonction (paramtre1, paramtre2, )
- 34 -

Visual Basic .NET : tutorial

Exemple
Form1.Showdialog

fait apparatre la fentre Form1

La figure 13 montre lditeur des classes (objets) VB. La colonne de droite prsente les mthodes
et les proprits de la classe slectionne. La fentre du bas donne une explication succincte de la
classe, proprit ou mthode slectionne. Pour ouvrir lditeur des classes VB, il suffit de cliquer
sur le bouton Object Browser.

Figure 11 : Editeur des objets VB

3.2 Contrles standards


3.2.1 La proprit Name
Dans tous les contrles, la proprit Name permet de rfrencer le contrle correspondant dans du
code VB. A lintrieur dun mme formulaire, la proprit Name doit tre unique. Comme indiqu
ci-dessus, Name permettra aussi daccder aux diffrentes proprits et dappeler les diffrentes
mthodes de lobjet.
Lorsquun contrle est plac sur un formulaire, VB lui affecte un nom, gnr automatiquement,
compos du nom du contrle, suivi dun chiffre correspondant au nombre de contrles de mme
type dj intgrs dans le formulaire.

- 35 -

Visual Basic .NET : tutorial

3.2.2 Label
Le contrle Label permet dafficher un texte statique. La proprit (de type String) charge de
stocker ce texte (une chane de caractres) est la proprit Text. Celui-ci sera affich lors de
laffichage du formulaire dans lequel il est plac. Linstruction qui suit modifie le texte
correspondant au contrle Label de nom Label1.
Exemple
Label1.Text = lquivalent en Euro = 15.689,89
3.2.3 TextBox
Le contrle Textbox permet dafficher et de saisir un texte au clavier. La proprit (de type String)
charge de stocker ce texte (une chane de caractres) est la proprit Text. Celui-ci sera affich
lors de laffichage du formulaire dans lequel il est plac et modifiable par lutilisateur.
Linstruction qui suit modifie le texte correspondant au contrle TextBox de nom Text1.
Exemple
Text1.Text = Entez votre texte ici
La figure 9 montre des exemples des contrles TextBox et Label.
3.2.4 RadioButton
Le contrle RadioButton combine deux fonctionnalits. Il permet de slectionner une option
prsente par un texte statique (un contrle Label). Le contrle RadioButton, utilis sur un
formulaire en au moins deux instances, permet de faire une seule slection parmi les diffrents
choix proposs (parmi les diffrents RadioButton affichs). La proprit du contrle qui stock ltat
de celui-ci est la proprit Enabled, de type Boolean. La valeur True veut dire que loption est
choisie. Notez bien que VB se charge de mettre jour la proprit Enabled une fois quune
slection est faite (mettre True la proprit Enabled du bouton slectionn et False aux autres).
Exemple
OptionButton1.Enabled = True
OptionButton2. Enabled = False
Pratique. Dans lexemple de la figure 14, lutilisateur peut soit convertir du FB vers leuro ou
inversement. Les contrles ont t dclars comme suit :

Contrle
TextBox
Label
Label
Label
OptionButton
OptionButton
CommandButton

Name
Montant
Label1
Label2
Label3
OptionEuro
OptionFB
Quitter

Caption
Equivalent en Euro = 1
Entrez le montant convertir
Montant convertir en
Euro
FB
Quitter

- 36 -

Visual Basic .NET : tutorial

Figure 14 : Exemple dutilisation du contrle RadioButton

Figure 15 : Code VB de lexemple de la figure 14 1 re possibilit


Public Class Form1
Inherits System.Windows.Forms.Form
Dim Montanten As Char
Private Sub Montant_Change()
Dim valeuro, valeFB, value As Double
value = Double.Parse(entree.Text)
If entree.Text <> " " Then
Select Case Montanten
Case "E"
valeuro = value / 40.3399
sortie.Text = "Equivalent en Euro: " & valeuro
Case "F"
valeFB = value * 40.3399
sortie.Text = "Equivalent en FB: " & valeFB
End Select
End If
End Sub

- 37 -

Visual Basic .NET : tutorial


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Button1.Click
MsgBox("Quitter?")
End
End Sub
Private Sub euro_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles euro.CheckedChanged
Montanten = "E"
Montant_Change()
End Sub
Private Sub FB_CheckedChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles FB.CheckedChanged
Montanten = "F"
Montant_Change()
End Sub
End Class

Figure 16 : Code VB de lexemple de la figure 14 2 me possibilit


Dans lexemple ci-dessus, la conversion se fait de manire dynamique chaque fois que le montant
change (Montant_Change). La procdure vnementielle Montant_Change est aussi appele
comme simple procdure dans les deux autres procdures vnementielles : OptionEuro_Click et
OptionFB_Click
Nom_objet_Change()
La procdure vnementielle de nom Nom_objet_Change() sexcute quand lobjet portant
le nom Nom_objet change.
3.2.5 CheckButton
Ce contrle ressemble de trs prs au contrle RadioButton. Il combine aussi deux fonctionnalits.
Il permet de slectionner une option prsente par un texte statique (un contrle Label). La
diffrence majeure rside dans le fait que lutilisateur peut faire de multiples slections parmi les
diffrents contrles de mme type. La proprit du contrle qui stocke ltat de celui-ci est la
proprit Checked qui prend lune des deux valeur suivantes : false = choix non slectionn, true =
choix slectionn.

Figure 17 : Exemple dutilisation du contrle CheckButton


Dans lexemple de la figure 17, lutilisateur peut choisir jusqu 4 villes.
- 38 -

Visual Basic .NET : tutorial

Notez que cest lutilisateur de grer la relation entre les diffrents choix en programmant la
procdure vnementielle Click().
Exemple
Private Sub Check1_CheckedChanged()
If Check1.checked = true Then
Check3.enabled = false
Else
Check3.Checked = true
End If
End Sub

on clique sur le 1er choix


si le 1er choix vient dtre slectionn
le 3me devient indisponible
sinon le 3

me

devient disponible

3.2.7 GroupBox
Un GroupBox est une fentre. Cest un contrle qui peut tre plac sur un formulaire pour crer un
groupe de contrles. Tout contrle plac sur le GroupBox (lui-mme plac sur un formulaire)
appartiendra ce groupe.
On a vu dans le cas du contrle RadioButton quune seule option peut tre choisie. Cependant, si
on veut prsenter lutilisateur deux groupes de choix dans lesquels il peut slectionner deux choix
non exclusifs, un dans le premier groupe et un dans le second, ceci nest pas possible. Pour
rsoudre ce problme, il suffit de placer lun des groupes doptions dans un GroupBox, lautre
appartiendra au formulaire.
Notez que les GroupBox peuvent tre utiliss pour crer un groupe de contrles de diffrents types,
TextBox, RadioButton, Label, etc.
La proprit Text permet de donner un titre au GroupBox.
Pratique.
Dans lexemple de la figure 18, deux GroupBox sont utiliss : Destination et Moyen de transport.
Chaque GroupBox intgre un groupe doptions. Ainsi, lutilisateur peut choisir une seule ville et un
seul moyen de transport.

Figure 18 : Exemple dutilisation du contrle GroupBox

- 39 -

Visual Basic .NET : tutorial

Le code correspondant ce programme est prsent dans la figure 19. Les contrles ont t
dclars comme suit :
Contrle

Name

Text

Label
CheckBox
CheckBox
CheckBox
CheckBox
CommandButton
CommandButton

Label1
Choissisez les villes que vous allez visiter
C_Paris
Paris
C_Tokyo
Tokyo
C_SanFranciscoSan Francisco
C_Sydney
Sydney
Confirmer
Confirmer
Quitter
Quitter

Figure 19 : Code VB relatif lexemple de la figure 18

- 40 -

Visual Basic .NET : tutorial

3.2.8 Exercices
a. Programmez lapplication qui permet de raliser l'application prsente figure 14. Exemple
dutilisation du contrle RadioButton.
b. Sachant qu1 US$ cote 38.5168 FB et qu1 FF cote 6.1498 FB, modifiez le code de lexemple
pour quon puisse aussi avoir la conversion en US$ et en FF. Votre application doit avoir lallure
de la figure 20.

Figure 20 : Exemple de formulaire de conversion de devises


c. Programmez lapplication qui permet de raliser la figure 17 (Exemple dutilisation du contrle
CheckButton). Le bouton Confirmer doit ouvrir (avec la procdure Show) un autre formulaire
contenant quatre contrles Label qui affichent uniquement les choix faits par lutilisateur.
d. Programmez lapplication qui permet de raliser la figure 18 (Exemple dutilisation du contrle
GroupBox). Utilisez deux vecteurs de contrles pour les diffrents RadioButton. Le bouton
Confirmer doit ouvrir (avec la procdure Show) un autre formulaire rsumant les choix faits par
lutilisateur.
e. Vous tes prsent capable de rpondre aux questions suivantes
1. Expliquez le concept dobjet
2. Expliquez le concept de proprit dun objet
3. Expliquez le concept de mthode dun objet
4. Comment peut-on accder une proprit dun objet ?
5. Comment fait-on appel une mthode dun objet ?
6. Donnez des exemples dobjets en VB.
7. Donnez des exemples de proprits en VB.
8. Donnez des exemples de mthodes en VB.
9. Comment trouver la liste des classes dobjets VB ?
10. Quel est lintrt de la proprit Name?
11. Pourquoi lintrieur dun formulaire la proprit Name dun objet doit tre unique ?
12. Dfinir le rle du contrle Label et donnez des exemples de proprits
13. Dfinir le rle du contrle TextBox et donnez des exemples de proprits
14. Dfinir le rle du contrle RadioButton et donnez des exemples de proprits
15. Dfinir le rle du contrle CheckButton et donnez des exemples de proprits
16. Quelle est la diffrence entre les contrles CheckButton et RadioButton?
17. Dfinir le rle du contrle GroupBox et donnez des exemples de proprits

- 41 -

Visual Basic .NET : tutorial

3.2.9 ListBox
Un ListBox est un contrle qui permet de proposer une liste de valeurs parmi lesquelles lutilisateur
ne peut en choisir quune seule. La dite liste est stocke dans la proprit Items. La figure
21 montre un exemple dutilisation du contrle ListBot.

Figure 21 : Exemple utilisant le contrle ListBox


3.2.10 ComboBox
Le contrle ComboBox combine les fonctionnalits des contrles TextBox et ListBox. La proprit
Text stocke llment chercher, slectionner ou ajouter et la proprit Items stocke la liste des
valeurs possibles, comme dans le cas du contrle ListBox. La figure 22 montre un exemple
dutilisation du contrle ComboBox.

Figure 22 : Exemple utilisant le contrle ComboBox


3.2.11 La proprit Items
La proprit Items se trouve dans plusieurs contrles (ListBox, ComboBox, ). Elle peut tre
remplie lors de la conception dans la fentre Properties comme monter dans la figure 234. Cette
liste peut aussi tre mise jour (ajout, suppression) de manire dynamique durant lexcution du
programme.
4

Pour ajouter une ligne (un lment) dans la liste, il faut cliquer sur les 3 petits points
- 42 -

Visual Basic .NET : tutorial

Figure 23: La proprit Items dun contrle ComboBox ou dun contrle ListBox.
Quelques proprits et mthodes pour grer les ListBox ou ComboBox
Syntaxe
: ajoute la valeur valeur_i dans la proprit List
Nom_List_Box.Items.Remove(valeur_i)
: enlve llment valeur_i de List
Nom_List_Box.Items.RemoveAt(i)
: enlve llment dindice i de List
Nom_List_Box.Items.Clear
: enlve tous les lments de List
Nom_List_Box.Items.Count
: donne le nombre dlments dans List
Nom_List_Box.items(i)
: retourne litem dindice i de la L ist
ListIndex 0 = 1er lment, 1 = 2er lment,
Nom_List_Box.SelectedItem
: retourne llment slectionn
Nom_List_Box.Sorted
: = True, maintient la liste trie par ordre
alphabtique croissant
Nom_List_Box.Items.Add(valeur_i)

Exemples
ListBox1.Items.Add ("Paris")
List1. Items.Add(text1.text)
Text1.Text = List1.SelectedItem
List1.Items.Remove(List1.SelectedItem)

Ajoute Paris la liste de ListBox


Ajoute Text1.Text la liste de ListBox
affecte llment slectionn Text1.Text
enlve llment slectionn de list

La procdure vnementielle suivante supprime la ville introduite par lutilisateur.


Private Sub Supprimer_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Supprimer.Click
Dim Ville As String
Dim i As Short
Ville = InputBox("Enter la ville supprimer : ")
For i = 0 To (villes.Items.Count - 1)
If villes.Items(i) = Ville Then
villes.Items.RemoveAt(i)
Exit For
End If
Next
End Sub
- 43 -

Visual Basic .NET : tutorial

Pratique. Lexemple de la figure 24 utilise un ComboList pour stocker une liste de villes.
Lutilisateur peut manipuler dynamiquement la dite liste. Le code correspondant ce programme
est prsent dans la figure 25.
La fonction Existe(Ville) vrifie si Ville se trouve dans la liste des villes. Une ville ne peut tre
ajoute que si elle nexiste pas. Une ville ne peut tre supprime quaprs confirmation de
lutilisateur, cest--dire, celui-ci a appuy sur OK. La fonction MsgBox, utilise avec loption
OkCancel, affiche les boutons Ok et Cancel. Elle retourne 1 si on appuie sur OK et 2 si on appuie
sur Cancel.

Figure 24: Exemple manipulant la proprit List du contrle ComboList

Figure 25 : Code VB relatif lexemple de la figure 24


- 44 -

Visual Basic .NET : tutorial

3.2.12 Exercices
a. Programmez le programme qui permet de raliser la figure 24: Exemple manipulant la proprit
List du contrle ComboList
b. Dans le mme esprit que lexercice prcdent, crez un programme qui permet de convertir un
montant en devise vers une autre divise. Votre application doit avoir lallure de la figure 26.
Utilisez trois contrles ListBox : DeviseB, DeviseC et TauxC. DeviseB et DeviseC serviront,
respectivement, slectionner la devise de base et la devise de conversion. TauxC servira stocker
les taux de change des diffrentes devises par rapport une devise de rfrence (l'Euro). Notez
bien que les trois contrles ne doivent pas tre tris, ainsi la devise dindice i du contrle DevideC
correspond au taux i du contrle TauxC.

Figure 26 : Application programmer


Lexemple ci-dessous montre comment convertir un montant (Montant.Text) dune devise de base
(DeviseB) vers une devise de conversion (DeviseC) en utilisant le taux de conversion dune devise
de rfrence (ici lEuro). Par exemple, si on dsire convertir un montant en CHF (Devise de base)
en BEF (Devise de conversion), il faut dabord trouver le montant quivalent en Euro puis
multiplier ce montant par le taux du FB dun Euro.
100 CHF = ((100 / 1.6014) * 40.3399 ) BEF = 2519.04 BEF.
Exemple

Figure 27 : Code associ au bouton convertir

- 45 -

Visual Basic .NET : tutorial

c. Modifiez votre programme pour que les diffrentes listes soient dynamiques, permettant
lutilisateur dajouter ou de supprimer une devise.

- 46 -

Visual Basic .NET : tutorial

3.2.13 Solution
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
DeviseB.SelectedItem = DeviseB.Items(0)
DeviseC.SelectedItem = DeviseC.Items(1)
TauxC.SelectedItem = TauxC.Items(1)
Label1.Text = "le montant en " & DeviseB.SelectedItem
Label2.Text = "vaut 40.3399 " & DeviseC.SelectedItem
montant.Text = 1
End Sub
Private Sub Convertir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Convertir.Click
Dim MontantConverti, mont As Double
mont = Double.Parse(montant.Text)
MontantConverti = (mont / TauxC.Items(DeviseB.SelectedIndex)) *
TauxC.Items(DeviseC.SelectedIndex)
Label1.Text = "le montant en " & DeviseB.SelectedItem
Label2.Text = "vaut " & MontantConverti & " " & DeviseC.SelectedItem
End Sub
Private Function existe(ByVal Devise As String) As Boolean
Dim var As Boolean
Dim i As Short
var = False
For i = 0 To (DeviseB.Items.Count - 1)
If DeviseB.Items(i) = Devise Then
var = True
Exit For
End If
Next
existe = var
End Function
Private Sub Ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Ajouter.Click
Dim NouvelleDevise As String
Dim NouveauTaux As Short
NouvelleDevise = InputBox("Entrez la nouvelle devise")
If NouvelleDevise <> "" And Not existe(NouvelleDevise) Then
NouveauTaux = InputBox("Entrez le nouveai taux")
If NouveauTaux > 0 Then
TauxC.Items.Add(NouveauTaux)
DeviseC.Items.Add(NouvelleDevise)
DeviseB.Items.Add(NouvelleDevise)
End If
Else
MsgBox("Entrez une autre devise, celle-ci est dj rpertorie")
End If
End Sub
Private Sub Supprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Supprimer.Click
Dim Indice As Integer
If MsgBox("Etes-vous bien sur de vouloir supprimer " & DeviseB.SelectedItem & "
?", MessageBoxButtons.OKCancel) = 1 Then
Indice = DeviseB.SelectedIndex
TauxC.Items.RemoveAt(Indice)
DeviseB.Items.Remove(DeviseB.SelectedItem)

- 47 -

Visual Basic .NET : tutorial


DeviseC.Items.RemoveAt(Indice)
End If
End Sub
Private Sub Quitter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles Quitter.Click
End
End Sub
End Class

- 48 -

Visual Basic .NET : tutorial

3.2.14 Lditeur de menus


Lditeur de menus permet de rattacher un formulaire un menu comme celui utilis par exemple
dans les applications sous Windows. La figure 28 montre le menu de VB.

Figure 28: Exemple de menu


Un menu nest rien dautre quun ensemble de contrles (commandes) qui sont accessibles par une
reprsentation sous forme de menus. Une commande peut soit ouvrir un sous-menu soit lancer une
procdure vnementielle (comme celles vues prcdemment).
Pour ouvrir lditeur de menu, il suffit de cliquer sur le bouton Menu Editor.

- 49 -

Visual Basic .NET : tutorial

4. LES BASES DE DONNEES

4.1 Notion de Table


Une table est un fichier structur contenant des informations sur un ensemble de sujets de mme
type. On peut citer comme exemples de tables: les clients, les produits, les commandes, les lignes
de commandes, les tudiants, les transactions effectues des distributeurs automatiques de
billets.
Une table peut tre vue comme un tableau deux dimensions ou chaque ligne reprsente les
informations relatives un seul sujet. Cette ligne, appele aussi enregistrement (record), est
compose dune suite structure dinformations (champs) sur le dit sujet. Par exemple, pour le cas
dune table client, chaque ligne contiendra pour un seul client (les champs) les informations
suivantes:
Nom, Adresse, Tlphone, Fax, Email, Chiffre daffaires, personne de contact,
On dit quun enregistrement (une ligne dune table) est compos dun ensemble de champs ou
dattributs. Chaque champ peut tre dun type standard de donnes comme ceux de VB (Integer,
String, Date, ). La figure 30 montre un exemple dune table de produits. Les noms des champs
sont donns la premire ligne.

Figure 29 : Exemple dune table de produits

- 50 -

Visual Basic .NET : tutorial

4.2 Notion de Base de Donnes


Une base de donnes est un ensemble de tables conues de manire cohrente. Une base de
donnes doit contenir linformation ncessaire et suffisante sur les sujets reprsents. On peut
citer comme exemple de base de donnes celles conues pour grer : un magasin commercial, le
systme de prts de livre dune bibliothque, les inscriptions des tudiants dune universit, les
rservations dune compagnie arienne, le systme de production dune entreprise manufacturire,
etc.
La figure 30 montre un exemple dune base de donnes pour la gestion de livres dans une
bibliothque. Elle est compose de quatre tables, Authors, Title Author, Titles et Publishers. Cette
figure montre uniquement les structures (les diffrents champs qui composent les enregistrements)
des diffrentes tables.

Figure 30: Exemple dune base de donnes


Il existe dans le commerce plusieurs systmes de gestion de base de donnes (SGBD), tels que
Oracle, Sybase, SQL server, DB2, Informix, Dbase, MS Access, etc. Dans ce cours, on utilisera
Microsoft Access. VB .NET permet de travailler avec une base de donnes de type MS Access sans
disposer du logiciel MS Access5. Dans la suite de ce syllabus, on va voir comment crer et
interroger une base de donnes.

4.3 Cration dune base de donnes Access


Pour crer une base de donnes, on utilise lutilitaire Microsoft Access, voir figure 31. Pour lancer
Microsoft Access, slectionnez, dans vos programmes, Microsoft Office, Microsoft Access.
Pour crer une base de donnes, slectionnez Blank Database. MDB est lextension du fichier
contenant une base de donnes de type Access. Microsoft Access vous invite introduire le nom de
la base de donnes crer. Aprs confirmation de votre part, il ouvre une fentre :
Nom_Database : Database.

Notez que VB permet de travailler avec dautres types de base de donnes en utilisant des outils plus avancs, mais
qui sortent du cadre de ce cours.
- 51 -

Visual Basic .NET : tutorial

Figure 31 : Microsoft Access


Pour ajouter un table la base de donnes cliquez sur Create Table in Design View. Microsoft
Access ouvre la fentre de dfinition de la structure dune table, figure 32. Pour ajouter des champs
la table, cliquez dans Field Name et insrez le type de donne contenu dans ce champ (colonne
Data Type). Si vous voulez indiquer que lun des champs est la cl primaire, slectionnez le champ
(mettre le curseur sur la bonne ligne) et appuyez sur licne avec une cl (dans la barre des outils).
Lorsque tous les champs sont complts, fermez la fentre et noubliez pas de donner un nom
votre table.

- 52 -

Visual Basic .NET : tutorial

Figure 32 : Fentre de dfinition de la structure dune table.


Pour ajouter une nouvelle table, il faut recommencer le mme processus. Pour modifier la
dfinition de la structure, cliquez sur la nom de la table avec la bouton droit de la souris et
slectionnez, Design View.
Lorsque vous aurez cr toutes vos tables, il sagira dindiquer les relations existant entre-elles.
Pour cela, cliquez sur licne
(Relationships). Slectionnez dabord les tables insrer dans le
schma et reliez-les les unes avec les autres.
Une fois que vous aurez cr toutes les tables et leurs structures, fermez votre base de donnes,
(File, Close).

- 53 -

Base de donnes avec Visual Basic .Net et le modle relationnel

Base de donnes avec Visual Basic .Net et le modle relationnel

Requtes SQL
Soit le schma relationnel suivant:

Requte Statique:
Quels sont les produits (nomProduit, Prix) achets par le client numro 3
SELECT
FROM
WHERE

Produit.NomProduit, Produit.Prix
Client, Commande, Constitution, Produit
(Client.N_Client = Commande.N_Client) And
(Commande.N_Commande = Constitution.N_Commande) And
(Constitution.N_Produit = Produit.N_Produit) And
(Client.NomClient = 3 );

Ceci est une requte statique, c'est--dire que cette requte nadmet pas de paramtre qui
changerait la valeur du rsultat
Requte Dynamique:
Quels sont les produits (nomProduit, Prix) achets par le client dont le numro est donn en
paramtre
SELECT
FROM
WHERE

Produit.NomProduit, Produit.Prix
Client, Commande, Constitution, Produit
(Client.N_Client = Commande.N_Client) And
(Commande.N_Commande = Constitution.N_Commande) And
(Constitution.N_Produit = Produit.N_Produit) And
(Client.NomClient = ? );

Ceci est une requte dynamique, car le numro du client est donn en paramtre la
requte (le paramtre est reprsent par le symbole ? dans la requte SQL)

Base de donnes avec Visual Basic .Net et le modle relationnel

Exemple de Requte dynamique :


- Supposons que lapplication Visual Basic ci-dessous permette de rechercher les
informations dun client dont le nom est donn en paramtre et qui afficherai le rsultat de
cette requte lcran.

- La fentre ci-dessous montre comment construire cette requte avec le Query Builder de
Visual Basic .Net.

Base de donnes avec Visual Basic .Net et le modle relationnel

- Le code Visual Basic permettant de donner le paramtre la requte SQL et dafficher le


rsultat lcran.

Base de donnes avec Visual Basic .Net et le modle relationnel

Travailler avec une BD dans VB .NET


1. Accder aux informations enregistres grce lobjet OleDbDataAdapter
- Cliquer sur lobjet et le faire glisser sur le
formulaire
- Suivre les instructions de lassistant
Configuration dadaptateur de donnes

- Une fentre de dialogue apparat suite cette


action
- Cliquer sur le bouton Next

Base de donnes avec Visual Basic .Net et le modle relationnel

- Crer une nouvelle connexion (si la


connexion nexiste pas encore) Appuyer
sur le bouton

- Cliquer sur longlet Provider


- Cliquer sur Microsoft Jet 4.0 OLE DB
Provider, le fournisseur de BD Microsoft
Access

Base de donnes avec Visual Basic .Net et le modle relationnel

- Cliquer sur longlet Connection


- Slectionner la Base de donnes
- Tester la connexion
- Cliquer ensuite sur le bouton Ok

Base de donnes avec Visual Basic .Net et le modle relationnel

- Le type de requte slectionn est


Instructions SQL. Cela spcifie la
manire dont lobjet OleDbDataAdapter
sadresse la BD
- Appuyez sur le bouton Next

- Ecrire les requtes SQL. Vous pouvez


soit les crire vous-mmes, soit laisser le
Gnrateur de requtes les crer votre
place Bouton Query Builder .

Base de donnes avec Visual Basic .Net et le modle relationnel

Le query Builder :
- Slectionnez les tables sur lesquelles
vous voulez travailler

Base de donnes avec Visual Basic .Net et le modle relationnel

- Ensuite construisez votre requte graphiquement.

Exemple : Nous avons spcifi la requte suivante : Quel est le prix et numro du produit TV
Cela se traduit, en Langage SQL, par:

SELECT Produit.Prix, Produit.N_Produit


FROM

Produit

WHERE Produit.NomProduit = "TV"

- Aprs cela quittez le Query Builder en cliquant sur le bouton OK


- Ensuite quittez la fentre de configuration du Data Adapter

Base de donnes avec Visual Basic .Net et le modle relationnel

2. Crer un groupe de donnes ou DataSet (reprsente les donnes auxquelles on

souhaite accder).
- Cliquez Sur le lien generate pour faire apparatre
une fentre de dialogue

- Validez en appuyant sur le bouton Ok

Base de donnes avec Visual Basic .Net et le modle relationnel

3. Faire appel la mthode Fill de lobjet OleDbDataAdapter pour peupler


lobjet DataSet avec les donnes adquates

4. Ajouter un contrle DataGrid au Formulaire

Base de donnes avec Visual Basic .Net et le modle relationnel

Passage dun diagramme de classe un schma relationnel


Dfinition :
- Cl primaire: champs ou ensemble de champs qui identifie, de manire unique, chaque
enregistrement stock dans la table.
- Cl trangre: champs ou ensemble de champs qui correspond une cl primaire dans
une autre table
Rgle 1: prsence de la cardinalit (?..1) dun ct de lassociation

Livre
Code-Livre
est un exemplaire du
Aut eur
Titre
1..1
Edition

Exemplaire
a l'exemplaire N-Exemplaire
0..n Localisation

Chaque classe se transforme en une table


Chaque attribut de classe se transforme en un champ de table
Lidentifiant de la classe qui est associe la cardinalit (?..1) (ex: Livre)
devient le cl trangre de lautre classe (ex: Exemplaire)

Contrainte dintgrit rfrentielle:


ClEtrangre ClPrimaire
Ex: Exemplaire.Code-Livre Livre.Code-Livre

Base de donnes avec Visual Basic .Net et le modle relationnel

Rgle 2: prsence de (?..N) des deux cts de lassociation

Emprunte
Code-Emprunte
Date
Date-De-Retour
Personne
Code-P ersonne
Es t emprunt par
Nom
Prenom
0..n
Adresse

Livre
Code-Livre
Emprunte Auteur
Titre
0..n
Edition

Chaque classe se transforme en une table


Chaque attribut de classe se transforme en un champ de table
Lassociation se transforme en une table. Cette table a comme champs
lidentifiant de chacune des deux classes, plus dventuels autres attributs.

Emprunte.Code-Personne Personne.Code-Personne
Emprunte.Code-Livre Livre.Code-Livre

Base de donnes avec Visual Basic .Net et le modle relationnel

Rgle 3: prsence dune gnralisation

Mthode 1:
Personne
Code-P ers onne
Nom
Prenom
Adresse

Professeur
Salaire

Etudiant
Noma
Note-Moyenne

Crer une table avec tous les attributs des classes


Ajouter un attribut pour distinguer les types des objets

{Professeur, Etudiant}

Base de donnes avec Visual Basic .Net et le modle relationnel

Mthode 2:
Personne
Code-P ers onne
Nom
Prenom
Adresse

Professeur
Salaire

Etudiant
Noma
Note-Moyenne

Crer une table pour chaque sous type, chaque table se compose des attributs
gnriques et dattributs spcifiques

Base de donnes avec Visual Basic .Net et le modle relationnel

Rgle 4: prsence dune agrgation

Voiture
NoPlaque : Integer
Marque : String

Roue
NoSerie : Long
Type : String

Crer une table pour les classes Voiture et Roue, et lier les deux tables par
une association 1 N

S-ar putea să vă placă și