Professional Documents
Culture Documents
Programmation Graphique Et Ev Avec Vbnet - Missway2022
Programmation Graphique Et Ev Avec Vbnet - Missway2022
(Syntaxes et illustrations)
L’auteur
iv
TABLE DES MATIERES
PREFACE ............................................................................................................................... i
AVANT-PROPOS................................................................................................................... ii
CHAPITRE I........................................................................................................................... 1
GENERALITES SUR LA PROGRAMMATION .......................................................................... 1
0. Introduction ............................................................................................................ 1
1.1. Le langage de programmation ..................................................................................... 1
1.2. Paradigme de programmation ............................................................................ 3
CHAPITRE II.......................................................................................................................... 8
PRESENTATION DE VISUAL BASIC.NET ................................................................................ 8
0. Introduction ................................................................................................................ 8
I. Framework.Net ................................................................................................................ 8
II. Visual basic .................................................................................................................... 15
2.1. Notions ....................................................................................................................... 15
III. Prise en main de Visual Basic.NET......................................................................... 17
3.1. Installation de Visual basic 2012 Ultimate ............................................................ 17
3.3. Environnement de Développement Intégré ......................................................... 19
3.4. Etude des contrôles et propriétés......................................................................... 26
3.4.1. Les contrôles : ......................................................................................................... 26
3.4.2. Les propriétés communes aux contrôles en VB.NET .............................................. 33
CHAPITRE III....................................................................................................................... 35
ELEMENTS DE BASE DE PROGRAMMATION...................................................................... 35
0. Introduction .............................................................................................................. 35
I. Variable ..................................................................................................................... 35
2. Les constantes ........................................................................................................... 38
3. Les tableaux................................................................................................................... 38
4. Identificateur............................................................................................................. 43
5. Commentaires ........................................................................................................... 43
a. Opérateurs arithmétiques .............................................................................. 44
b. Opérateurs de comparaison ...................................................................... 45
c. Opérateurs logiques .................................................................................... 45
v
d. Opérateur d’affectation ............................................................................... 46
CHAPITRE IV ...................................................................................................................... 54
STRUCTURE DE CONTROLE ............................................................................................... 54
0. Introduction .............................................................................................................. 54
I. Structures conditionnelles ........................................................................................ 54
II. Structures répétitives (itératives) ............................................................................. 61
2.1. Boucle For ... Next ................................................................................................. 61
2.2. Boucle While … End while ..................................................................................... 63
2.3. Boucle Do while... Loop......................................................................................... 63
2.5. Boucle Do loop …. While ....................................................................................... 65
2.6. La boucle Do loop … Until ..................................................................................... 65
III. Gestion des exceptions ......................................................................................... 71
CHAPITRE V ....................................................................................................................... 73
PROGRAMMATION EVENEMENTIELLE .............................................................................. 73
0. Introduction .................................................................................................................. 73
I. Principes .................................................................................................................... 73
II. Etapes de développement d’une application ........................................................... 75
III. Procédures événementielle .................................................................................. 76
IV. Quelques instructions particulières ............................................................................. 76
IV. Manipulation des quelques éléments................................................................... 81
CHAPITRE VI ...................................................................................................................... 90
ACCES A LA BASES DE DONNEES ....................................................................................... 90
O. Introduction .................................................................................................................. 90
III. ETUDE DE CAS ....................................................................................................... 97
3.1. Conception du formulaire ..................................................................................... 98
3.2. Création de module............................................................................................. 101
3.3. Ecriture de codes................................................................................................. 103
BIBLIOGRAPHIE ............................................................................................................... 125
a) Ouvrages ................................................................................................................. 125
1
CHAPITRE I
0. Introduction
1.2.2.Programmation descendante
1.2.3.Programmation linéaire
Initialisation
Boucle
Finalisation
Il y a un point de sortie ;
Entre les deux, il n’y a qu’un fil pour une exécution de
l’application ;
Des appels à des procédures ou fonctions peuvent être
faits.
1.2.4.Programmation logique
1.2.6.Programmation structurée
1.2.8.Programmation de macros
0. Introduction
I. Framework.Net
Version 1.0
Version 1.1.
Version 2.0
12
La version 2.0 en version redistribuable est disponible
gratuitement sur le site de Microsoft a été publié le 22 janvier
2006. Il est aussi inclus sous forme d’option gratuite à Windows
Server 2003 R2. Il s’agit de la dernière compatible avec Windows
2000, Windows ME.
Version 3.0
Version 3.5
Nota :
2.1. Notions
Visual Basic (VB) est un langage de
programmation événementielle de troisième génération ainsi
qu'un environnement de développement intégré, créé
par Microsoft pour son modèle de programmation COM.
2.2. Fonctionnalités
b) La barre de Menu
d) Explorateur de serveurs
e) Boite à outils
f) Fenêtre de propriétés
g) Explorateur de solutions
i) Structure du document
Propriétés Description
0. Introduction
Rappelons-le, la conception d’un programme repose sur
l’usage des algorithmes. Un algorithme est une activité
intellectuelle qui se base sur un certain nombre des concepts que
le programmeur doit maitriser et traduire dans un langage de
programmation. Il va sans dire que l’algorithme est difficile,
beaucoup plus difficile que sa traduction en programme. Cela
requiert la créativité et l’intuition.
I. Variable
1.1. Notions
Exemple:
Static A As Integer
2. Les constantes
Une constante est une donnée fixe qui ne varie pas durant
l’exécution d’un programme. Elle est caractérisée par son nom
et sa valeur (fixe). Son objectif est d’éviter d’utiliser une valeur
d’une manière directe.
3. Les tableaux
3.1. Définition
Exemple:
Module TesterTableau
Sub Main()
Dim Tab(5) As Integer
'remplir le tableau
For i = 0 To Tab.Length - 1
Tab(i) = i * 10
Next
'affichage
40
Msgbox( "Taille du tableau: " & Tab.Length)
For i As Integer = 0 To Tab.Length - 1
Msgbox ( "Tab(" & i & ")=" & Tab(i))
Next
End Sub
End Module
Exécution
Taille du tableau: 6
Tab(0)= 0
Tab(1)= 10
Tab(2)= 20
Tab(3)= 30
Tab(4)= 40
Tab(5)= 50
Exercice :
Solution:
For i = 0 To TabMatiere.Length - 1
Next
Next
tab(i, j) = i * 10 + j
Next
42
Next
Msgbox ( "tab(" & i& "," & j& ")=" & tab(i, j))
Next
Next
Execution:
tab(0,0)= 0
tab (0,1)= 1
tab (1,0)= 10
tab (1,1)= 11
tab (2,0)= 20
tab (2,1)= 21
Dim I As Integer
For I = 1 To 10
Next
For I = 1 To 10
43
LstNom.AddItem TabNom(I) 'ajout d'un élém. dans la liste
Next
4. Identificateur
L’identificateur est le nom choisi pour appeler un élément
(une variable ou une constante). Le Visual basic accepte tout
identificateur correct. Pour cela, il est important d’utiliser un
terme simple du langage modifié pour répondre aux exigences
suivantes :
5. Commentaires
Ils ne sont pas pris en compte par le compilateur ni inclus
dans le pseudo code. Les lignes de commentaires débutent par
une apostrophe (') ou par le mot Rem suivi d'un espace et
peuvent être insérées n'importe où dans une procédure. Les
commentaires peuvent expliquer une procédure ou une
instruction particulière au lecteur de votre code. Par défaut, les
commentaires s'affichent en vert.
Exemple :
6. Mots clés
And, As, ByRef, ByVal, Call, Case, Class, Const, Dim, Do,
Else, ElseIf, End, Exit, False, For, Function, GoTo, If, Is, Loop,
Me, Module, Next, Not, Nothing, Option, Or, Private, Public,
Resume, Select, Step, Sub, Then, To, True, Until, While …
7. Opérateurs
a. Opérateurs arithmétiques
Opérateur Définition
() Parenthèse
^ Exposant
- Négation
* Multiplication
/ Division
Mod Modulo
+/- addition/soustraction
\ Division entière
Nota : Il existe diverses fonctions mathématiques qui sont
définies dans une classe .NET appelée Math. Voici quelques-
unes:
45
▪ Sqrt (x) racine carrée
▪ Cos(x) Cosinus
▪ Sin(x) Sinus
b. Opérateurs de comparaison
Opérateur Définition
< inférieur à
> supérieur à
= égal à
<> différent de
c. Opérateurs logiques
a) Not
End If
b)And
If (1 = 1) And (2 = 2) Then
End If
c) Or
d)Xor
d. Opérateur d’affectation
e. Opérateur de concaténation
Exemple 1
47
Dim alpha, beta, chaine As String
Exemple 2
Nom= "Missway"
8. Instructions
a. Instructions d’entrée
b. Instructions de sortie
Exemple
Msgbox ("Bonjour")
Résolution
Résolution
Résolution
Dim a, b, c As Integer
a = InputBox("Entrez la valeur de a")
b = InputBox("Entrez la valeur de b")
c=a
a=b
b=c
MsgBox("la nouvelle valeur de a est:" & a)
MsgBox("la nouvelle valeur de b est:" & b)
49
Exercice 4. Ecrire un programme permettant de saisir le nom de
l’utilisateur puis affiche à l’écran le texte Bonjour suivi du nom
saisi.
Résolution
Dim nom As String
nom = InputBox("Entrez un nom")
MsgBox("Bonjour" + " " + nom)
Résolution
9. Procédures et Fonctions
a. Procédure
instructions
End Sub
Exemple
Call Remplissage(n, T)
Remplissage n, T
som=x+y
Msgbox (som)
End sub
b. Fonction
End Function
Exemple
52
max = ValeurMaximale (n, T)
c. Passage de paramètres
Fonction Delta ( )
a, b, c, d : Entier
Lire a, b, c
d=(b*b)-(4*a*c)
Retourner d
Fin fonction
Dim a, b, c, d as integer
d=(b*b)-(4*a*c)
msgbox(d)
End function
54
CHAPITRE IV
STRUCTURE DE CONTROLE
0. Introduction
Il existe en programmation des structures de contrôle de
séquences qui peuvent être conditionnelles ou répétitives. On
parle de la structure de contrôle conditionnelle lorsque pour
l’exécution d’un bloc d’actions, une condition est émise pour
permettre la prise de décision. La séquence répétitive n’est rien
d’autre que la boucle c.à.d. un ensemble d’instructions se
trouvant dans un même endroit du programme et s’exécutant de
façon répétitive.
I. Structures conditionnelles
Bloc d’instructions
End if
Sub prime()
End if
End sub
Bloc d’action 1
Else
Bloc d’actions 2
End if
Résolution
Sub prime()
else
End if
End sub
Exemple :
Dim x As Integer
Dim y As Integer
'...
If x = y Then
MsgBox("x = y")
Else
End If
Exemple
Case 0
Case 1
Case 2
Case 4
Case 3, 5 To 8
Case Else
End Select
59
EXERCICES SUR LES STRUCTURES CONDITIONNELLES
Resolution
Dim n As Double
n = InputBox("Entrez un nombre")
If n Mod 2 = 1 Then
MsgBox("nombre impair")
Else
MsgBox("nombre pair")
End If
Résolution
Dim a, b, c As String
a = InputBox("Entrez le premier nom")
b = ("Entrez le deuxième nom")
c = ("Entrez le troisième nom")
If a < b And b < c Then
MsgBox("ces noms sont classés alphabétiquement")
Else
MsgBox("ces noms ne sont pas alphabétiques")
End If
Résolution
60
Dim H, M As Integer
H = InputBox("Entre l'heure")
M = InputBox("Entre la minute")
M=M+1
If M = 60 And H = 24 Then
M=0
H=H+1
End If
MsgBox ("Dans une minute il sera" & Val(H) & "heure(s)" &
Val(M) & "minute")
Résolution
Dim n As Double
n = InputBox ("Entrez un nombre")
If n > 0 Then
MsgBox ("nombre positif")
ElseIf n < 0 Then
MsgBox("nombre négatif")
Else
MsgBox ("nul")
End If
Résolution
Dim jour As Integer
jour = InputBox("Entrez un numéro du jour")
Select Case jour
Case 1
MsgBox("Lundi")
61
Case 2
MsgBox("Mardi")
Case 3
MsgBox("Mercredi")
Case 4
MsgBox("Jeudi")
Case 5
MsgBox("Vendredi")
Case 6
MsgBox("Samedi")
Case 7
MsgBox("Dimanche")
Case Else
MsgBox("Invalide")
End Select
Instructions
Next compteur
Exemple
For compteur = 1 To 10
MsgBox(compteur)
Next compteur
Instructions
Loop
Exemple :
Next
Initialisation du compteur
Bloc d’ instructions
Incrémentation
64
Loop
Exemple
Cpt=1
Do While(cpt<10)
Msgbox (cpt)
cpt=cpt+1
Loop
Initialisation compteur
Do Until(condition fausse)
Bloc d’ instructions
Incrémentation
Loop
Exemple
cpt = 1
Msgbox (cpt)
65
cpt = cpt + 1
Loop
Initialisation du compteur
Do
Bloc d’instructions
Incrémentation
Exemple
cpt = 1
Do
Msgbox cpt
cpt = cpt + 1
Do
Bloc d’instructions
Incrémentation
Exemple
cpt = 1
Do
Msgbox cpt
cpt = cpt + 1
Dim i, n As Integer
n = InputBox("Entrez un nombre")
For i = 1 To n
MsgBox(i)
Next
2. Ecrire un programme qui demande un nombre compris
entre 10 et 20 jusqu'à ce que la réponse convienne. En cas
de réponse inférieur à 10, le programme doit indiquer à
l'utilisateur qu'il doit saisir un nombre plus grand et en cas
67
de réponse supérieur à 20 indiquera qu'il doit saisir un
nombre plus petit.
Resolution
For i As Integer = 2 To 20
nombre = InputBox("Donnez le nombre " & i & " ")
If (nombre > plusGrand) Then
plusGrand = nombre
position = i
End If
Next
MsgBox("Le plus Grand est " & plusGrand & " et il a été tapé a
la position " & position)
Résolution
Dim n, i As Integer
n = InputBox("entre un nombre")
While (n <> 0)
i=i+1
69
n = n / 10
End While
MsgBox("nombre est" & i)
Résolution
Const taille = 10
Dim tableau(taille - 1) As Integer
Dim somme As Integer = 0
For i As Integer = 0 To taille - 1
tableau(i)=InputBox ("Donnez la valeur de l'element " & (
i + 1) & " ")
'pour chaque élément saisi, on l'ajoute directement à la s
omme
somme += tableau(i)
Next
MsgBox("La somme des éléments du tableau est " & somme)
Résolution
Sub Main()
Const ligne = 5
Const colonne = 3
Dim tableau(ligne - 1, colonne - 1) As Double
Dim plusGrand As Double = 0
Résolution
Const taille = 10
Dim A(taille - 1), B(taille - 1), C(2 * taille - 1) As Integer
MsgBox("Remplissage du premier tableau")
For i As Integer = 0 To A.Length - 1
A(i) =InputBox ("Donnez la valeur " & (i + 1) & " ")
Next
MsgBox("Remplissage du deuxieme tableau")
For i As Integer = 0 To B.Length - 1
B(i) =InputBox("Donnez la valeur " & (i + 1) & " ")
Next
'remplissage des 10 premières cases de C avec les valeur
s de A
For i As Integer = 0 To A.Length - 1
71
C(i) = A(i)
Next
'remplissage des 10 dernières cases de C avec les valeurs de B
For i As Integer = A.Length To C.Length - 1
C(i) = B(i - A.Length)
Next
For i As Integer = 0 To C.Length - 1
MsgBox(i + 1 & "--->" & C(i))
Next
Une exception est un objet qui peut être émis par une
méthode si un événement d’ordre « exceptionnel » (les erreurs
rentrent dans cette catégorie) se produit. La méthode en
question ne renvoie alors pas de valeur de retour, mais émet une
exception expliquant la cause de cette émission.
Try...Catch...Finally
Try
instructions susceptibles de provoquer une erreur
Catch variable as Type_Exception
instructions à exécuter en cas d'erreur
Finally
instructions finales à exécuter dans tous les cas
End Try
Exemple :
Dim y = 0
Try
Resultat = x / y
Catch ex As Exception
MsgBox(ex.ToString)
Finally
MessageBox.Show(Resultat)
End Try
73
CHAPITRE V
PROGRAMMATION EVENEMENTIELLE
0. Introduction
I. Principes
Visual Basic permet la création d’IUG (Interface Utilisateur
Graphique), sous une forme standard dans l'environnement
Windows, par simple pointage et cliquage de la souris, ce qui a
pour intérêt d’éliminer l’écriture du code permettant de générer
l’IUG d’une feuille, de fixer ses propriétés, de créer les contrôles
contenus dans l’IUG.
74
Il s’agit pour le programmeur de créer l’IUG d’une feuille
et d’écrire le code décrivant ce qui se produit lorsque l’utilisateur
interagit avec l’IUG (clic, double-clic, appuie sur une touche,
etc.). Ces actions, appelées Evènements (en anglais events),
sont reliées au programme via le système d’exploitation de
Microsoft Windows.
Instructions
End Sub
a. MsgBox()
Exemple :
Résultat :
Résultat :
c. Timer
Label2.Text = TimeOfDay
End If
Dim sapi
sapi = CreateObject("sapi.spvoice")
End If
Dim sapi
sapi = CreateObject("sapi.spvoice")
End If
d. TimeOfday
1. Formulaire
Solution
Else
End Sub
End Class
Résolution
If optDSI.Checked Then
Else
End If
End Sub
Exercice :
optDSI.Checked = True
opt2.Checked = True
End Sub
If optDSI.Checked Then
Else
End If
If opt2.Checked Then
Else
End If
MessageBox.Show(texte)
End Sub
88
End Class
5. Les listes
Solution
Dim N As Integer
For i = 1 To 12
ListBox1.Items.Add(" " & Val(N) & " x " & Val(i) & " = "
& Val(N * i))
Next i
End Sub
90
CHAPITRE VI
O. Introduction
Il existe plusieurs sources de données, tels que le fichier
XML, fichier texte, Excel, la base de données, etc.
I. Usage d’ADO.NET
a) Création de la table
Solution
Outils
a. Windows forms
d. Création de menus
Module Module1
Sub Main()
Try
Application.EnableVisualStyles()
cn.Open("JOS")
Catch ex As Exception
End Try
Form1.ShowDialog()
103
End Sub
End Module
Module initialisation
Textbox1.Text = ""
Textbox2.Text = ""
Textbox3.Text = ""
Combobox1.Text = ""
Combobox2.Text = ""
Textbox1. Focus()
End Module
If a = vbYes Then
Textbox1.Text = ""
104
Textbox2.Text = ""
Textbox3.Text = ""
Combobox1.Text = ""
Combobox2.Text = ""
Textbox1.Focus()
End If
End Sub
Exit Sub
End If
rs = New ADODB.Recordset
Textbox1.Text = ""
Textbox2.Focus()
Else
If a = vbYes Then
rs.AddNew()
rs.Fields("Matricule").Value = Textbox1.Text
rs.Fields("Nom").Value = Textbox2.Text
rs.Fields("PNom").Value = Textbox3.Text
rs.Fields("Sexe").Value = Combobox1.Text
rs.Fields("Promo").Value = Combobox2.Text
rs.Update()
Textbox1.Text = ""
Textbox2.Text = ""
Textbox3.Text = ""
106
Combobox1.Text = ""
Combobox2.Text = ""
Textbox1.Focus()
End If
Exit Sub
End If
rs.Close()
End Sub
Cn.Open("JMK")
Exit Sub
End If
107
Rs.Open("Select * From T_etudiant where Matricule='" &
TextBox1.Text & "'",Cn,
ADODB.CursorTypeEnum.adOpenKeyset,ADODB.LockTypeEn
um.adLockOptimistic)
Rs.AddNew()
Rs.Fields("Matricule").Value = TextBox1.Text
Rs.Fields("Nom").Value = TextBox2.Text
Rs.Fields("Pnom").Value = TextBox3.Text
Rs.Fields("Sexe").Value = ComboBox1.Text
Rs.Fields("Promo").Value = ComboBox2.Text
Rs.Update()
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
ComboBox1.Clear()
ComboBox2.Clear()
TextBox1.Focus()
Else
TextBox1.Clear()
TextBox2.Clear()
108
TextBox3.Clear()
ComboBox1.Clear()
ComboBox2.Clear()
TextBox1.Focus()
End If
End Sub
3.3.3.La recherche
Textbox1.Focus()
Exit Sub
End If
rs = New ADODB.Recordset
Textbox1.Text = ""
Textbox2.Focus()
Else
Textbox1.Text = rs.Fields("Matricule").Value
Textbox2.Text = rs.Fields("Nom").Value
Textbox3.Text = rs.Fields("PNom").Value
Combobox1.Text = rs.Fields("Sexe").Value
Combobox2.Text = rs.Fields("Promo").Value
End If
rs.Close()
End Sub
Tmatri.Focus()
Exit Sub
110
End If
rs = New ADODB.Recordset
Textbox1.Text = ""
Textbox1.Focus()
Else
If a = vbYes Then
rs.Fields("Matricule").Value = Textbox1.Text
rs.Fields("Nom").Value = Textbox2.Text
rs.Fields("PNom").Value = Textbox3.Text
rs.Fields("Sexe").Value = Combobox1.Text
rs.Fields("Promo").Value = Combobox2.Text
rs.Update()
111
MessageBox.Show("Modification effectuée avec
succès", "Confirmation", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Textbox1.Text = ""
Textbox2.Text = ""
Textbox3.Text = ""
Combobox1.Text = ""
Combobox2.Text = ""
Textbox1. Focus()
End If
Exit Sub
End If
rs.Close()
End Sub
TextBox1.Focus()
Exit Sub
112
End If
rs = New ADODB.Recordset
Textbox1.Focus()
Else
If a = vbYes Then
rs.Delete()
MessageBox.Show("Suppression effectuée
avec succès", "Confirmation", MessageBoxButtons.OK,
MessageBoxIcon.Information)
Textbox1.Text = ""
Textbox2.Text = ""
Textbox3.Text = ""
Combobox1.Text = ""
Combobox2.Text = ""
113
Textbox1.Focus()
End If
Exit Sub
End If
rs.Close()
End Sub
Close()
End Sub
Cn.Open("JOS")
ProgressBar1.Increment(+1)
114
Label2.Text = ProgressBar1.Value & "%"
Form2.SHOW()
Me.Hide()
Timer1.Stop()
End If
Dim a As String
a = TextBox2.Text
If a = "1234" Then
Form2.Show()
Me.Hide()
Else
Label3.Text = "Mot de passe incorrect"
TextBox2.Text = ""
TextBox1.Text = ""
End If
End Sub
Application.Exit()
End Sub
115
Private Sub LoginForm1_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
MyBase.Load
UsernameTextBox.Text = "Josué"
UsernameTextBox.ReadOnly = True
PasswordTextBox.Focus()
End Sub
End Class
1. Bouton enregistrer
Imports System.Data
Imports System.Data.OleDb
116
Public Class Form1
Dim cnn As New OleDb.OleDbConnection
Private Sub Button1_Click(sender As Object, e As
EventArgs) Handles Button1.Click
If TextBox1.Text = "" Or TextBox2.Text = "" Or
TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = ""
Or TextBox6.Text = "" Then
MsgBox("Vérifiez les cases vides !!!",
MsgBoxStyle.Information, "Information")
TextBox1.Focus()
Exit Sub
End If
2. Bouton Rechercher
End Sub
3. Bouton Modifier
Nota :
a) Ouvrages
1. Alain Godon, Programmer avec Visual Basic, cours M2AI -
ISTIA, 2001/2002 ;
2. ARSAC, la construction des programmes structurés,
Ed.Dunod, Paris, 2002 ;
3. Brice-Arnaud GUERIN, ADO.NET 3.5 et LINQ, ENI
Editions ;
b) Sites web
1. www.dotnet.com
2. www.developpez.com
3. www.commentçamarche.net
4. www.legacy.net