Tutoriel sur le développement d'applications avec Visual Basic

Participez au vote ☆☆☆☆☆★★★★★
‘Une image vaut mille mots’
Bien débuter avec Visual Basic
1. Introduction
2. Comment démarrer avec Visual Basic ?
3. Les étapes de la réalisation d’une application
4. Sauvegarder une application
5. Notions de base (Le contrôle Form)
6. Notions de base (Le Label)
7. Notions de base (Le CommandButton)
8. Apprentissage par l’exemple
2/74
Introduction
Visual Basic 6.0 est un logiciel de programmation crée par la société Microsoft pour permettre le
developpement des applications qui peuvent fonctionner de manière autonome sous
Windows.
Le modèle de programmation utilisé par Visual Basic est de type événementiel c'est-à-dire que
seulement une partie du code est exécuté suite à une action précise de l’utilisateur (appelée
événement).
Visual Basic est considéré egalement comme un langage de programmation orientée objet : chaque
partie du code est liée à un objet, et c’est une action sur cet objet qui déclenche son exécution.
Il existe sur le marché trois éditions de Visual Basic:
- L’édition Initiation est la moins fournie des trois mais permet de créer de puissantes
applications.
- L’édition Professionnelle dispose de toutes les fonctionnalités de l’édition initiation et se voit
enrichie de nombreux contrôles et outils de développement.
- L’édition Entrepriseest la plus complète.
3/74
2. Les étapes de la réalisation d’une application
La création d'une application dans Visual Basic implique trois étapes principales :
ü Créer l'interface.
ü Définir les propriétés.
ü Écrire le code.
3. Sauvegarder une application
Lorsqu’on sauvegarde une application, Visual Basic va créer :
1.Un ou plusieurs fichiers feuilles (.frm) : Un fichier mémorise tous les éléments attachés à
une feuille : la description de la fenêtre, la description des contrôles inclus dans la fenêtre,
les procédures et fonctions liées à la feuille.
2.Un fichier dit projet (.vbp) : Il mémorise la liste de tous les fichiers nécessaires au projet.
Quand le projet est terminé il peut être transformé (compilé) en un seul fichier
exécutable « .EXE » qui s’exécutera sans lancer Visual Basic, mais il necessitera
toutefois d’avoir le logiciel installé.
2. Notions de base (le contrôle Form)
Par défaut Visual basic affiche une feuille vierge appélée Form1
Pour commencer, nous allons examiner deux propriétés :
- La propriété Name : il s’agit du nom de l’objet tel qu’il est géré par l’application. Par défaut,
Visual Basic donne à tous les objets que vous créez de noms génériques, comme Form1, Form2,
Form3…
- La propriété Caption : il s’agit du texte associé à l’objet sur l’écran.
Notes
CConcernant la propriété name, il est important de changer les noms donnés par défaut
aux contrôles utilisés et de choisir des noms plus évocateurs.
Par convention, on utilise un préfixe de 3 lettres spécifique à la famille de l'objet
concerné, suivi d'un nom significatif du rôle rempli par le contrôle dans le projet.
Exemple : Au lieu de concerver form1 comme name, on choisira frmclients pour une
feuille qui servira à réunir les détails sur les clients.
4/74
Les préfixes souvent utilisés pour chaque objet :
Objet
Préfixe
Bouton de commande
cmd
(CommandButton)
Bouton d'option (OptionButton)
opt
Cadre (Frame)
fra
Case à cocher (CheckBox)
chk
Etiquette (Label)
lbl
Formulaire ou Feuille (Form)
frm
Image (Image)
img
Liste modifiable (ComboBox)
cbo
Menu (Menu)
mnu
Minuterie (Timer)
tmr
Photo (Picture)
pic
Zone de liste (ListBox)
lst
Zone de texte (TextBox)
txt
La boite à outils
Zone image (PictureBox)
Label
Zone de texte (TextBox)
Encadré avec un titre (Frame)
Bouton de commande (CommandButton)
Case à cocher (CheckBox)
Bouton d’option (OptionButton)
Liste modifiable (ComboBox)
Liste non modifiable (ListBox)
Barre de défilement horizontale (HScrollBar)
Barre de défilement verticale (VScrollBar)
Minuterie (Timer)
Liste de lecteurs (DriveListBox)
Liste de répertoires (DrilistBox)
Liste de fichiers (FilelistBox)
(Shape)
Trait (Line)
Image
Data
5/74
Notes
C
Les principales propriétés d’un contrôle Label sont :
Ÿ Alignment : qui règle l’alignement du texte (gauche, centré, droite)
Ÿ BorderStyle : qui désigne le type de bordure du label
Ÿ Autosize : permet d’ajuster la taille du Label à son contenu.
Dans une zone de texte, il y a 3 possibilités :
· Afficher une valeur
· Inscrire une valeur
· Modifier une valeur ;
Dans un label, il y’a UNE possibilité :
· Afficher une valeur
6/74
4. Notions de base (Le CommandButton)
Il s’agit du bouton de commande du type Ok, Annuler, et permet a l’utilisateur de déclencher un
événement avec la souris ou le clavier.
Quelques propriétés de la classe CommandButton :
Ÿ Enabled : cette propriété permet au bouton d’être actif (valeur True), c’est-à-dire de pouvoir
recevoir des événements, et donc de déclencher des procédures. Inversement, elle interdit
(valeur False) à un contrôle de recevoir quelque événement que ce soit de la part de
l’utilisateur. Dans ce cas, le contrôle apparaît grisé à l’écran.
Ÿ STYLE : si cette propriete possede comme valeur graphical, il devient alors possible d’ajouter
une image sur le bouton, ou d'en modifier la couleur. dans le cas contraire (valeur standard,
par defaut), le bouton conserve l’aspect par defaut des boutons de windows (le gris).
7/74
5. Apprentissage par l’exemple
Réalisez votre premier programme qui permet de contrôler l’affichage de la date et l’heure à partir
de deux boutons.
1. Créer l’interface suivante :
Form1
Label 1
Command1
Command2
2. Définir les objets et leurs propriétés :
L'étape suivante consiste à définir pour chaque objet des propriétés.
1.Appuyez sur la touche F4 pour ouvrir la Fenêtre Propriétés ;
(Si cette fenêtre est déjà ouverte passez à l’étape suivante)
2.Choisissez un objet de la liste :
3.Affectez les propriétés suivantes :
8/74
Objets
Propriétés
Valeurs
Form1
Caption
Essai
Command1
Caption
Date
Command2
Caption
Heure
Caption
Label1
Alignment
Center
Border Style
Fixed Single
3. Ecrire le code
Pour ouvrir la fenêtre du Code, Double-cliquez sur la feuille ou sur le contrôle pour lequel vous
souhaitez écrire le code (Dans notre exemple on a choisit le bouton de commande Command1.
·
Command1 est le name du bouton de commande choisi ;
· Command1_Click veut dire que le code qui sera écrit entre Private Sub et End Sub sera
executé quand l'utilisateur va cliquer sur ce bouton ;
· Private veut dire que ce code sera utilisable UNIQUEMENT que dans cette feuille.
·
Label1=Date : signifie que l’objet Label1va afficher la date systéme (quand
l’utilisateur aura cliqué sur le bouton Command1).
9/74
Pour exécuter l'application, cliquez sur Exécuter dans le menu Exécution, ou sur le bouton
de la barre
d'outils, ou encore appuyez sur la touche de fonction F5.
D’autres codes à tester:
· Le premier exemple montre qu’au
contraire des fonctions Time et
Date, pour afficher un texte dans
un Label, il doit être placé entre ";
· Le deuxiéme exemple montre
l’utilité du caractére & :
concaténer une fonction et un
texte ;
· Space(5) permet d’insérer 5
espaces ;
D’autres propriétés valables pour de nombreux éléments :
Propriétés
Signification
BackColor
couleur de l'arrière-plan de l'objet (ex. : couleur de la fenêtre)
ForeColor
couleur du premier plan de l'objet (ex. : couleur du texte)
Font
style d'écriture
Autosize
Permet pour un Label d’adapter le texte à son bordure
Quelques règles à respecter :
·
Un name doit toujours commencer par une lettre, ne doit pas dépasser 255 caractères et ne
doit pas comporter d’espaces.
10/74
·
Les mots réservés par Visual Basic (if, then, time, date…) ne peuvent pas être utilisés pour
la propriété name.
Ajout du bouton ‘Quitter’ :
Objectif : ajouter un bouton de command qui permet de terminer l’application :
· Ce code permet d'arrêter la procédure du programme.
Ajout des touches de raccourcis :
Pour chaque bouton, ajouter un "&" pour que la première lettre devienne un raccourci ;
Exemple : pour le bouton ‘Quitter’
Ce qui donne
Ainsi en mode execution, il suffit d’utiliser la combinaison detouches ‘ALT+Q’ pour teminer
l’application.
11/74
6. Notions de base (La Zone de Texte (TextBox))
Contrairement à un Label, les "TextBox" servent généralement à saisir une information.
La propriété essentielle d'une Zone de Texte est Text. C’est la propriété qui désigne son contenu.
Il faut savoir que toute information contenue dans une zone de texte est
obligatoirement de type texte ! Donc, l’emploi de fonctions de conversion s’avèrera
indispensable pour travailler avec des nombres.
12/74
Apprentissage par l’exemple :
1.Créez l’interface suivante :
Label
Frame
3 OptionButton
CommandButton
Le but de cette application est de contrôler l’affichage dans Le Label en fonction du choix effectué :
–L’option Word pour afficher « Traitement de texte »
–L’option Excel pour obtenir « Tableur »
–L’option Access pour obtenir « Système Gestion bases de donnée »
Définir les propriétés :
V a l e u r
O b j e t s
P r o p r i é t é s
d e c h a q u e p r o p r i é t é
F o r m 1
Caption
Boutons d'options:
Caption
Logiciels
F r a m e
Font
Gras
Caption
Word
O p t i o n 1
Name
optword
Caption
Excel
O p t i o n 2
Name
Optexcel
Caption
Access
O p t i o n 3
Name
Optaccess
Caption
&Quitter
C o m m a n d 1
Name
Cmdfin
Caption
Name
lblaffichage
L a b e l 1
Alignment
Center
Border Style
Fixed Single
Font
Gras, Taille 12
13/74
Ecrire le code pour optword :
Ecrire le code pour optexcel :
Ecrire le code pour optaccess :
14/74
2éme exemple
On désire offrir à l’utilisateur de faire un choix entre trois possibilités :
–
L’option Word pour afficher « Traitement de texte »
–
L’option Excel pour obtenir « Tableur »
–
L’option Access pour obtenir « Système Gestion bases de donnée »
Également, vous devez ajouter à votre application un bouton Fin pour quitter.
Label1
Frame
Option1
Option2
Option3
Command1
2. Définir les objets :
V a l e u r s
O b j e t s
P r o p r i é t é s
d e c h a q u e p r o p r i é t é
Form1
Caption
Logiciels
Caption
Logiciels
Frame
Font
Gras
Caption
Word
Option1
Name
optword
Caption
Excel
Option2
Name
Optexcel
Caption
Access
Option3
Name
Optaccess
Caption
Fin
Command1
Name
Cmdfin
Caption
Name
lblaffichage
Label1
Alignment
Center
Border Style
Fixed Single
Font
Gras, Taille 12
3. Définir les évènements
Private Sub optword_Click()
lblaffichage.Caption = "Traitement de texte"
End Sub
Private Sub optexcel_Click()
lblaffichage.Caption = "Tableur"
End Sub
Private Sub optaccess_Click()
lblaffichage.Caption = "Système Gestion bases de données"
End Sub
Private Sub cmdfin_Click()
End
End Sub
15/74
3éme exemple
Créer un projet qui permet de calculer la conversion d’une devise vers le dirham à partir d’un taux choisis par l’utilisateur.
1. Définir les objets :
V a l e u r s d e c h a q u e
O b j e t s
P r o p r i é t é s
p r o p r i é t é
Form1
Caption
Changement de devises
Label1
Caption
Bureau de change
Caption
Montant Devises
Label2
Autosize
True
Caption
Taux
Label3
Autosize
True
Caption
Montant en DH
Label4
Autosize
True
Caption
Name
Lblaffichage
Label5
Borderstyle
Fixedsingle
Font
Gras, Taille : 12
Text
Text1
Name
Txtmontant
Text
Text2
Name
Txtaux
Caption
&Changer
Command1
Name
cmdchanger
Caption
&Autre
Command2
Name
cmdautres
Caption
&Fin
Command3
Name
Cmdfin
NB :
La propriété Autosize permet d’ajuster le contrôle à son contenu ;
Les propriétés Font et Forecolor permettent de changer l’attribut de l’objet (la taille, la couleur…)
Le caractère & permet d’affecter une touche de raccourcis à un Bouton de commande.
La propriété setfocus permet d’insérer automatiquement le curseur dans une zone de texte (voir la procédure cmdAutre).
L’instruction val permet de convertir une chaîne de caractère en nombre (voir la procédure cmdchanger)
2. Définir les évènements
16/74
Private Sub cmdchanger_Click()
lblaffichage.Caption = Val() * Val()
End Sub
Private Sub cmdautre_Click()
lblaffichage.Caption = ""
= ""
= ""
txtmontant.SetFocus
End Sub
Private Sub cmdfin_Click()
End
End Sub
17/74
4éme exemple
Chaque option donne un
taux :
1 Euro =
1 $Can =
1 $Usa =
1 £ =
1ère méthode
Private Sub cmdchanger_Click()
lblmontant.Caption = lbltaux.Caption * Val()
End Sub
Private Sub optcan_Click()
lbltaux.Caption = 7.18
End Sub
Private Sub optfb_Click()
lbltaux.Caption = 0.268
End Sub
Private Sub optfr_Click()
lbltaux.Caption = 1.56
End Sub
Private Sub optusa_Click()
lbltaux.Caption = 10.89
End Sub
NB : Utiliser le point comme séparateur décimal dans le code.
2éme méthode
Dim taux as integer
Private Sub cmdchanger_Click()
lblmontant.Caption = Val() * taux
End Sub
Private Sub optcan_Click()
lbltaux.Caption = 7.18
taux = 7.18
End Sub
Private Sub optfb_Click()
lbltaux.Caption = 0.268
taux = 0.268
End Sub
Private Sub optfr_Click()
lbltaux.Caption = 1.56
taux = 1.56
End Sub
Private Sub optusa_Click()
lbltaux.Caption = 10.89
taux = 10.89
End Sub
Cette méthode vous oblige à déclarer la variable taux comme variable général (Voir Page N°…..)
18/74
Test entre 2 valeurs
Private Sub cmdivis_Click()
If Val() = 0 Then
MsgBox "Division impossible par Zéro"
Text4.SelStart = 0
Text4.SelLength = Len()
Else
lblresultat.Caption = Val() / Val()
lblresultat.Caption = Format(lblresultat.Caption, "00.00")
End If
End Sub
Private Sub cmdmoins_Click()
lblresultat.Caption = Val() - Val()
End Sub
Private Sub cmdmult_Click()
lblresultat.Caption = Val() * Val()
End Sub
Private Sub CMDPLUS_Click()
lblresultat.Caption = Val() + Val()
End Sub
Private Sub Command1_Click()
If Val() > Val() Then
lblres.Caption = "A>B"
ElseIf Val() = Val() Then
lblres.Caption = "A=B"
Else
lblres.Caption = "A<B"
End If
End Sub
19/74
Application N°4
Private Sub chkgras_Click()
If (chkgras.Value = vbChecked) Then
= True
Else
= False
End If
End Sub
Private Sub chkitalique_Click()
If (chkitalique.Value = vbChecked) Then
.Italic = True
Else
.Italic = False
End If
End Sub
Private Sub chksou_Click()
If (chksou.Value = vbChecked) Then
.Underline = True
Else
.Underline = False
End If
End Sub
Private Sub opt12_Click()
Text1.FontSize = 12
End Sub
Private Sub opt20_Click()
Text1.FontSize = 20
End Sub
Private Sub opt40_Click()
Text1.FontSize = 40
End Sub
20/74
Private Sub optblue_Click()
Text1.ForeColor = vbBlue
End Sub
Private Sub optnoir_Click()
Text1.ForeColor = vbBlack
End Sub
Private Sub optrouge_Click()
Text1.ForeColor = vbRed
End Sub
21/74
Gestion de mot de passe
CommnadButton
TextBox
B Modifiez l’icône de l’application :
Des icônes supplémentaires sont installés avec Visual Basic
dans le dossier : C:\Program Files\Microsoft Visual
Studio\COMMON\Graphics\Icons.
C Désactivez l’affichage des boutons
:
D Ajoutez une deuxième feuille à votre projet :
22/74
Normalement, dans, l’Explorateur de Projets (Ctrl + r) vous devez avoir un seul projet contenant deux
feuilles :
E Ajoutez les propriétés suivantes :
Objets
Propriété
Valeur
Name
cmdvalid
Command1
Caption
Valider
Name
txtpassword
Text
Cette propriété doit rester vide
Text1
PasswordChar
*
Maxlenght
10
NB :
§
La propriété PasswordChar permet de masquer les caractères tapés par l’utilisateur par celui défini
(Dans notre cas la zone de texte n’affichera que des étoiles).
§
La propriété Maxlenght impose une langueur maximale pour les caractères saisis.
F: Construisez le code de votre application
23/74
Private Sub cmdValid_Click()
If = "" Then
MsgBox "Veuillez saisir un mot de passe", vbOKOnly, "Reéssayer"
ElseIf UCase() = "BEST" Then
Unload Form1
ElseIf MsgBox("Mot de passe Incorrect", vbRetryCancel + vbCritical, "Accés refusé") = vbRetry Then
txtpassword.SetFocus
txtpassword.SelStart = 0
txtpassword.SelLength = Len()
Else
End
End If
End Sub
La propriété UCase permet de convertir toutes les lettres minuscules en majuscules.
Application N°8 : Les variables
Réalisez le code de la facture suivante :
Règles commerciales :
Le montant Hors taxe = quantité * Prix
Le montant de la remise = Le montant Hors taxe * Taux de remise
Le net commercial = Le montant Hors taxe - Le montant de la remise
Le montant TVA = Le net commercial * taux TVA
Le montant TTC = Le net commercial + Le montant TVA
-----------------------
Dim remise, tva
Private Sub tauxR5_Click()
Private Sub calculer_Click()
remise = 0.05
labmtht = txtQ * txtprixuni
End Sub
labmtremise = labmtht * remise
labnetcom = labmtht - labmtremise
Private Sub tauxtva14_Click()
labmttva = labnetcom * tva
tva = 0.14
labmtttc = labnetcom + labmttva
End Sub
End Sub
Private Sub tauxtva20_Click()
Private Sub tauxR0_Click()
tva = 0.2
remise = 0
End Sub
End Sub
Private Sub tauxR10_Click()
Private Sub tauxtva7_Click()
remise = 0.1
tva = 0.07
End Sub
End Sub
25
5éme exemple (Les ListBox)
Etablir un programme qui permet de contrôler l'ajout vers une zone de Liste
(Zone de texte) txtprd
cmdajouter
cmdrechercher
(listBox)lstprd
cmdsupprimer
Timer1
cmdeffacer
cmdquitter
(Label)lbltotal
Private Sub cmdajout_Click()
Dim i, nbv As Integer
nbv = lstprd.ListCount
If nbv > 0 Then
For i = 0 To nbv - 1
lstprd.Selected(i) = True
If UCase() = UCase() Then
MsgBox "Produits existe déja !!!", 48, "attention"
= ""
txtprd.SetFocus
Exit Sub
End If
Next
End If
lstprd.AddItem Trim()
= ""
txtprd.SetFocus
End Sub
Private Sub cmdeffacer_Click()
If MsgBox("Etes vous sur de vouloir tout Effacer ", vbYesNo,"Confirmer")= _
vbYes Then
lstprd.Clear
End If
txtprd.SetFocus
End Sub
Private Sub cmdsupprimer_Click()
If lstprd.ListCount = 0 Then
MsgBox "la list est vide", vbOKOnly, "Supprimer"
ElseIf lstprd.ListIndex = -1 Then
MsgBox "vous devez selectionner un element de la liste"
Else
lstprd.RemoveItem lstprd.ListIndex
End If
End Sub
Page 26 / 74
Private Sub cmdfin_Click()
If MsgBox("Etes vous sur de vouloir fermer", vbYesNo, "Quitter")= vbYes Then
End
End If
End Sub
Private Sub Timer1_Timer()
lbltotal.Caption = lstprd.ListCount
End Sub
Private Sub txtprd_Change()
If Len(Trim()) = 0 Then
cmdajout.Enabled = False
Else
cmdajout.Enabled = True
End If
End Sub
Private Sub cmdrechercher_Click()
Dim produit As String
Dim i, nbprd As Integer
produit = InputBox("Entrez le nom du produit", "Rechercher")
nbprd = lstprd.ListCount
For i = 0 To nbprd - 1
lstprd.Selected(i) = True
If UCase() = UCase(produit) Then
MsgBox "Le produit a été trouvé", 64, "Fin de la recherche"
Exit Sub
End If
Next
MsgBox "Produit non trouvé", 64, "Fin de la recherche"
End Sub
Page 27 / 74
6éme exemple (Application mot de passe)
Private Sub cmdValid_Click()
If = "" Then
MsgBox "Veuillez saisir un mot de passe", vbOKOnly, "Reéssayer"
ElseIf UCase() = "BEST" Then
Unload Form1
ElseIf MsgBox("Mot de passe Incorrect", vbRetryCancel + vbCritical, "Accés
refusé") = vbRetry Then
txtpassword.SelStart = 0
txtpassword.SelLength = Len()
Else
End
End If
End Sub
Private Sub Form_Activate()
txtpassword.SetFocus
End Sub
2éme méthode (Limiter le nombre d'essai a 3)
Dim i
Private Sub Command1_Click()
Do While i < 3
If <> "123" Then
i = i + 1
txtpassword.SetFocus
= ""
MsgBox "essai N° " & i
Exit Sub
Else
Exit Sub
End If
Loop
MsgBox "Dernier essai ..!!!,"
MsgBox "Au revoir"
End
End Sub
Page 28 / 74
Les fonctions
Private Sub cmdresultat_Click()
If optoperation(0).Value Then
lblresultat.Caption = Val(txtop1) + Val(txtop2)
ElseIf optoperation(1).Value Then
lblresultat.Caption = Val(txtop1) - Val(txtop2)
ElseIf optoperation(2).Value Then
lblresultat.Caption = txtop1 * txtop2
ElseIf = 0 Then
MsgBox "Division par 0 impossible", 16, "Erreur"
lblresultat.Caption = ""
Else
lblresultat.Caption = /
End If
End Sub
Private Function Controle_saisie(KeyAscii As Integer) As Integer
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 And KeyAscii <> 46 Then
Controle_saisie = 0
Else
Controle_saisie = KeyAscii
End If
End Function
Private Sub txtop1_KeyPress(KeyAscii As Integer)
KeyAscii = Controle_saisie(KeyAscii)
End Sub
Private Sub txtop2_KeyPress(KeyAscii As Integer)
KeyAscii = Controle_saisie(KeyAscii)
End Sub
Page 29 / 74
7éme exemple (Gestion des polices)
txtaille
txtstyle
txtpolice
lstpolice
ox
lststyle
i
s
t
b
lstaille
L
chksou
txtph
chkbarr
optgauche
Private Sub chkbarr_Click()
If .Strikethrough = True Then
.Strikethrough = False
Else
.Strikethrough = True
End If
End Sub
Private Sub chksou_Click()
If .Underline = True Then
.Underline = False
Else
.Underline = True
End If
End Sub
Private Sub cmdclose_Click()
Unload Me
End
End Sub
Private Sub Form_Load()
Dim i, j
For i = 0 To Screen.FontCount - 1
lstpolice.AddItem Screen.Fonts(i)
Next
For j = 8 To 100
lstaille.AddItem j
Next
End Sub
Private Sub lstaille_Click()
= Val()
=
End Sub
Private Sub lstpolice_Click()
=
=
End Sub
Private Sub lststyle_Click()
Dim style
style = lststyle.ListIndex
Select Case style
Case 0
= False
Page 30 / 74
.Italic = False
Case 1
= True
.Italic = False
Case 2
= False
.Italic = True
Case Else
= True
.Italic = True
End Select
=
End Sub
Private Sub optcenter_Click()
txtph.Alignment = vbCenter
End Sub
Private Sub optdroite_Click()
txtph.Alignment = vbRightJustify
End Sub
Private Sub optgauche_Click()
txtph.Alignment = vbLeftJustify
End Sub
NB:
Affectez à la zone de texte txtph les propriétes suivantes :
Multuline =True
Scrollbars = 2-Verticall
Page 31 / 74
Facture pour comptabiliser
TextBox(HT)
ListBox(TTC)
CommandButton(ajouter)
Private Sub ajouter_Click()
If = "" Then
MsgBox ("Attention, vous devrez insérer un prix")
Else
initialiser.Enabled = True 'activer le bouton Initialiser
If tva0.Value = True Then
detail.Enabled = True
TTC.AddItem (Str(Val()))
ElseIf tva7.Value = True Then
detail.Enabled = True
TTC.AddItem (Str(Val() * 1.07))
ElseIf tva20.Value = True Then
detail.Enabled = True
TTC.AddItem (Str(Val() * 1.2))
ElseIf tva14.Value = True Then
detail.Enabled = True
TTC.AddItem (Str(Val() * 1.14))
Else 'si aucun bouton n'est activé
MsgBox ("Attention, vous devez choisir le taux de TVA")
End If
= ""
ht.SetFocus
End If
End Sub
Private Sub detail_Click()
Dim i As Integer
Dim sum As Single
Dim moyenne
sum = 0
For i = 0 To TTC.ListCount - 1 'parcourir les éléments de la liste
Page 32 / 74
sum = sum + Val((i))
Next i
moyenne = sum / TTC.ListCount
MsgBox ("Le nombre d'articles est " & TTC.ListCount & "; la montant total à payer est " & sum)
sauvegarder.Enabled = True
End Sub
Private Sub ht_Change()
ajouter.Enabled = True
End Sub
Private Sub initialiser_Click()
TTC.Clear
detail.Enabled = False
sauvegarder.Enabled = False
End Sub
Private Sub quitter_Click()
End
End Sub
Private Sub sauvegarder_Click()
Dim i As Integer
Open "c:\facture" For Output As #1
For i = 0 To TTC.ListCount - 1
Print #1, (i)
Next i
Close
End Sub
Page 33 / 74
Contrôler la saisie dans une zone de texte
1.
Private Sub Text1_LostFocus()
If IsNumeric() = False Then
MsgBox "Erreur de saisie" & vbLf & "Seulement numérique"
Text1.SetFocus
= ""
End If
End Sub
NB :
VbLf Ou Chr (10) : Caractère de saut de ligne
2.
Private Sub Text1_LostFocus()
If IsDate() = False Then
MsgBox "Erreur de saisie" & vbLf & "Seulement Date"
Text1.SetFocus
= ""
End If
End Sub
NB :
La fonction IsDate renvoie la valeur True si l'expression est une date ou peut être reconnue en tant que date ; sinon elle
renvoie la valeur False.
3.
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And (KeyAscii <> 8) Then
KeyAscii = 0
End If
End Sub
NB :
Chaque caractère est associé à un code compris entre 0 et 255 (on appelle code ascii)
Exercice :
Ecrire un programme qui permet de limiter la saisie dans une zone de texte aux touches alphabétiques.
Exécuter une application Windows a partir du VB
Utiliser la fonction Shell…
Exemple :
Shell "c:\Program files\Microsoft office\office\", vbNormalFocus
Exercice :
Ecrire un programme qui permet d’ouvrir les programmes suivants :
–
Paint
–
Calculatrice
–
Le Bloc note
–
Les jeux de Windows
Page 34 / 74
Se déplacer avec les touches de direction
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyDown Then
Text2.SetFocus
End If
End Sub
Private Sub Text2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then
Text1.SetFocus
ElseIf KeyCode = vbKeyDown Then
Text3.SetFocus
End If
End Sub
Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyUp Then
Text2.SetFocus
End If
End Sub
Page 35 / 74
Utilisation de la fonction Format
Private Sub Command1_Click()
Dim Today As Variant
Today = Now
lblDay.Caption = Format(Today, "dddd")
lblMonth.Caption = Format(Today, "mmmm")
lblYear.Caption = Format(Today, "yyyy")
lblnumber.Caption = Format(Today, "d")
lblTime.Caption = Format(Today, "h:mm:ss ampm")
End Sub
Page 36 / 74
Bon, on va
commencer
Calcul Salaire hebdomadaire
un exercice
Une entreprise qui emploi des salariés à l’heure, les paie chaque semaine suivant un taux horaire
auquel on applique un coefficient K donnée par :
39 premières heures
K= 1
de la 40éme à la 44 heure
K= 1,2
De la 45éme à la 49 heure
K= 1,5
Après la 49éme heure
K= 1,8
Travail à faire :
Déterminer à partir d’un volume horaire, le salaire de la semaine.
Page 37 / 74
Utilisation de l’événement MouseDown
Exemple 1 :
Ce programme illustre la façon de concevoir des programmes
permettant à l’utilisateur de déplacer des objets dans la fenêtre du
programme à l’aide de la souris.
Page 38 / 74
Exemple 2 :
Ce programme utilise l’événement MouseDown .
La procédure Form_MouseDown est exécutée dés
que pressez le bouton de la souris, avant même que
vous ne le relâchiez.
Page 39 / 74
CUMUL de Chiffres 1 + 2 + 3 + n
Etape 1
Page 40 / 74
Scrol Bar :
Partie influencée par VSBxyz_CHANGE
Partie influencée par VSBxyz_SCROLL
Page 41 / 74
Gestion Hôtel
Dim prix As Integer
Private Sub cmdcalculer_Click()
Dim nbj, divers, a, de, mtdu
a = CDate()
de = CDate()
nbj = a - de
divers = Val()
mtdu = (nbj * prix) + divers
lblnbj.Caption = nbj
lblmtdu.Caption = mtdu
End Sub
Private Sub Form_Load()
lbldate.Caption = "Facture du: " & Date
End Sub
Private Sub optdouble_Click()
prix = 220
End Sub
Private Sub optdup_Click()
prix = 350
End Sub
Private Sub optsimple_Click()
Page 42 / 74
prix = 180
End Sub
Private Sub txta_LostFocus()
If Not IsDate() Then
= ""
txta.SetFocus
Else
If CDate() < CDate() Then
MsgBox "La date saisie est inferieur à la date d'entrée", vbExclamation, "Date incorrect"
= ""
txta.SetFocus
End If
End If
End Sub
Private Sub txtde_GotFocus()
Dim debut
debut = InputBox("Entrez la date debut", "Saisie des données")
= debut
End Sub
Private Sub txtde_LostFocus()
If Not IsDate() Then
= ""
txtde.SetFocus
End If
End Sub
Private Sub txtdivers_KeyPress(KeyAscii As Integer)
If Not IsNumeric(KeyPress) Then
= ""
txtdivers.SetFocus
End If
End Sub
Page 43 / 74
Utiliser le contrôle MaskedEdit
On va changer la
zone de texte par
un nouveau
composant
MaskedEdit
Pour l’insérer
Page 44 / 74
Le contrôle d'édition Masked (MaskedEdit) permet d'inviter les utilisateurs à entrer des
données à l'aide d'un modèle de masque.
Vous pouvez également l'utiliser pour dema nder l'entrée de dates, de devises et d'heure,
ou pour convertir des données entrées en ma juscules ou minuscules.
Page 45 / 74
9éme exemple en VB(Le visionneur d’image)
lblimage
Shape1
dirimage
imgimage
Line1
filimage
drvimage
cmdend
cmdshow
Private Sub drvImage_Change()
On Error GoTo testerr
= drvimage.Drive
Exit Sub
testerr:
MsgBox "Le lecteur n'est pas prêt"
drvimage.Drive = "c:"
Resume Next
End Sub
Private Sub dirImage_Change()
=
End Sub
Private Sub cmdShow_Click()
Dim ImageName As String
If Right(, 1) = "\" Then
ImageName = + filImage.FileName
Else
ImageName = + "\" + filImage.FileName
End If
lblimage.Caption = ImageName
imgimage.Picture = LoadPicture(ImageName)
End Sub
Private Sub filImage_DblClick()
Call cmdShow_Click
End Sub
Shape1:
BackColor
:Cyan
BackStyle
:1-Opaque
FillColor
:Blue
FillStyle
:4-Upward Diagonal
Shape
:4-Rounded Rectangle
File1:
Name
:filImage
Pattern
:*.bmp;*.ico;*.wmf;*gif;*jpg (Sans espaces)
Line1:
BorderWidth 3
Page 46 / 74
Exemple N°12 (CommonDialog; ScrollBar)
VScrollBar
Option Explicit
Dim Mois(12) As String
Dim filiere As String
Private Sub cmdinfo_Click()
Dim Msg As String, Age As Integer, prenom As String
Dim M As Integer, D As Integer, Y As Integer
M = Val(Format(Now, "mm"))
D = Val(Format(Now, "dd"))
Y = Val(Format(Now, "yyyy"))
Age = Y - vsbyear
If vsbmois.Value > M Or (vsbmois.Value = M And vsbjour > D) Then Age = Age - 1
'tester si la date est valide
If Age < 0 Then
MsgBox "La Date de naissance doit être avant la date actuelle .", vbOKOnly +
vbCritical, "Invalide Date"
Exit Sub
End If
'tester si le nom a été rempli
If = "" Then
MsgBox "Vous devez saisir un nom.", vbOKOnly + vbCritical, "Entrez un nom"
Exit Sub
End If
Msg = + " poursuit ses études dans la filiére " + filiere + vbLf
If optsex(0).Value = True Then prenom = "Il " Else prenom = "Elle "
Msg = Msg + prenom + " a" + Str(Age) + " ans." + vbLf
MsgBox Msg, vbOKOnly, "Profile Etudiant"
End Sub
Private Sub Form_Load()
Mois(1) = "Janvier"
Mois(2) = "Février"
Mois(3) = "Mars"
Mois(4) = "Avril"
Mois(5) = "Mai"
Mois(6) = "Juin"
Page 47 / 74
Mois(7) = "Juillet"
Mois(8) = "Août"
Mois(9) = "Septembre"
Mois(10) = "Octobre"
Mois(11) = "Novembre"
Mois(12) = "Decembre"
lbljour.Caption = Str(vsbjour.Value)
lblmois.Caption = Mois(vsbmois.Value)
lblyear.Caption = Str(vsbyear.Value)
End Sub
Private Sub optfil_Click(Index As Integer)
Select Case Index
Case 0
filiere = "Technicien Specialisé"
Case 1
filiere = "Secretaire de Direction"
Case 2
filiere = "Devellopement"
Case 3
filiere = "Réseaux"
End Select
End Sub
Définissez les propriétés suivantes pour les différentes barres de défilement:
VScrollBar vsbYear:
VScrollBar vsbjour:
VScrollBar vsbMois:
Max = 1900
Max = 1
Max = 1
Min = 2100
Min = 31
Min = 12
Value = 1960
Value = 1
Value = 1
Private Sub vsbjour_Change()
lbljour.Caption = Str(vsbjour.Value)
End Sub
Private Sub vsbmois_Change()
lblmois.Caption = Mois(vsbmois.Value)
End Sub
Private Sub vsbYear_Change()
lblyear.Caption = Str(vsbyear.Value)
End Sub
Private Sub cmdnouveau_Click()
= ""
imgeleve.Picture = LoadPicture("")
End Sub
Il faut ajouter le contrôle CommonDialog dans votre boîte à outils. Pour ce faire, placer votre souris sur la boîte à outils et
cliquez sur le bouton droit. Ensuite, choisissez la commande "Composants". Une liste de tous les contrôles apparaît alors.
Celui qui nous intéresse ici, c'est le contrôle CommonDialog. Cochez la case du contrôle Microsoft Common Dialog Control
6.0 et appuyez sur le bouton Appliquer. Le contrôle CommonDialog va alors apparaître sur votre boîte à outils. A présent,
vous pouvez l'utilisez dans vos applications.
CommonDialog cdlBox:
Filter = Bitmap(*.bmp)|*.bmp|Images Gif(*.gif)|*.gif|Images Jpeg(*.jpg)|*.jpg
Private Sub cmdcharger_Click()
cdlbox.ShowOpen
imgeleve.Picture = LoadPicture(cdlbox.FileName)
End Sub
Private Sub cmdend_Click()
End
End Sub
Page 48 / 74
Cours 9 : Accès aux fichiers
Il existe trois modes d'accès aux fichiers dans Visual Basic 6 :
1. Les fichiers à accès séquentiel ne peuvent ouvrir que des fichiers avec un contenu textuel.
2. Les fichiers à accès direct sont formés en général de plusieurs enregistrements de longueur
fixe.
3. Les fichiers binaires sont tous les fichiers avec un contenu graphique.
1. Les fichiers à accès séquentiel
Il existe trois manières d'ouvrir un fichier texte :
1. La 1ère manière est l'ouverture d'un fichier uniquement en lecture à l'aide de l'instruction Input.
2. La 2ème manière est l'ouverture d'un fichier uniquement en écriture à l'aide de l'instruction
Output.
3. La dernière manière est l'ouverture d'un ficher en écriture aussi mais à la seule différence de la
précédente manière, les nouvelles données sont entrées à la suite de l'enregistrement
précédent. Pour cela, on utilise l'instruction Append.
Multiline True
Private Sub ouvrir_Click()
On Error Resume Next
Open "C:\" For Input As #1
retour = Chr$(13) + Chr$(10)
Line Input #1, texte
tout = texte
If Len(tout) <> 0 Then
While Not EOF(1)
Line Input #1, texte
tout = tout + retour + texte
Wend
End If
=tout
Close #1
End Sub
Explication :
Page 49 / 74
· L'instruction On error Resume Next permet d'ignorer toute erreur que peut entraîner cette
procédure.
· L'instruction Open "C:\" For Input As #1 permet d'ouvrir le fichier "note" situé sur le
bureau. Lorsque l'application est exécutée pour la première fois, une erreur 53 devrait
apparaître car le fichier "note" n'existe pas encore. Mais grâce à l'instruction On Error Resume
Next, cette erreur sera tout simplement ignorée.
· L'instruction retour = Chr(13)$ + Chr(10)$ permet à la ligne suivante. Le code ASCII 13
correspond au "retour chariot", c'est-à-dire de revenir à gauche du texte et 10 au "passage à la
ligne", c'est-à-dire d'aller à la ligne suivante.
· L'instruction Line Input permet de placer dans la variable "texte" le contenu de la première ligne
du fichier "".
· Ensuite, le contenu de la variable "texte" est à son tour, affecté à la variable "tout".
· Le test avec l'instruction If permet de vérifier que le fichier "" n'est pas vide à l'aide de
la fonction Len qui compte le nombre de lettres ou tout autre symbole contenu dans la variable
"tout". Si le nombre de lettres est différent de zéro alors, les instructions à l'intérieur du test
sont exécutés.
· La boucle avec While permet de parcourir tout le fichier à la recherche d'éventuelles autres
lignes que la première. La fonction EOF permet de savoir si l'on arrive à la fin du fichier ouvert.
Cette boucle est donc exécutée jusqu'à ce que tout le contenu du fichier soit placé dans la
variable tout. Les chaînes de caractères affectées à la variable "tout" sont concaténées
(concaténées = ajoutées) aux précédentes contenues dans la variable. La variable "retour"
provoque un retour à la ligne à chaque fois que cela est nécessaire.
· Lorsque tout le contenu du fichier sera affecté à la variable "tout", cette dernière sera à son tour
affectée à la propriété Text du contrôle TextBox. Ce qui provoquera l'affichage du contenu du
fichier dans le contrôle TextBox.
· L'instruction Close ferme le fichier ouvert en lecture.
Écrivons maintenant la portion de code correspondant au bouton "Sauvegarder" :
Private Sub Sauvegarder_Click()
Open "C:\Windows\Bureau\" For Output As #1
Print #1,
Close #1
End Sub
Explication :
· L'instruction Open "C:\Windows\Bureau\" For Output As #1 ouvre le fichier ""
en écriture.
· Le contenu de la zone de texte "Text1" est ensuite copié dans le fichier à l'aide de l'instruction
Print.
· Enfin, le fichier est fermé à l'aide de l'instruction Close.
Passons à l'écriture de la procédure concernant le bouton "Effacer" :
Private Sub Effacer_Click()
= ""
Text1.SetFocus
End Sub
Page 50 / 74
24 .Utiliser le contrôle DATA
Le programme DATA permet à votre programme d’avoir accès à des bases de données externes, de
type Microsoft Access, bBase, FoxPro…
Etape 1
Dans Access, créer la base de données suivante : qui contient la table Clients :
Etape 2
Convertir cette BDD vers le format Access 97 : cette étape est nécessaire
Choisissez Le menu
· Outils
· Utilitaire de base de données
· Convertir une base de données
· Vers le format de fichiers Access 97
· Sauvegarder la BDD sous le nom : essai97
Etape 3
Dans Visual Basic, Insérez le contrôle DATA :
Page 51 / 74
Construisez l’interface suivante :
Etape 4
Spécifiez la propriété Connect vers
Access
Choisissez ensuite pour la propriété
DatabaseName la BDD créer en haut :
essai97
Pour la propriété RecordSource,
Choisissez la table Clients
Etape 5
On va maintenant afficher les données de la table Clients dans les zones de texte déjà crée :
Page 52 / 74
Pour chaque zone de texte vous devez spécifier ces deux propriétés :
DataField permet de choisir quel champ de la table clients sera affiché dans chaque zone de texte.
Etape 6
Exécutez votre application :
Aller vers le dernier
Aller vers le premier
Aller vers le précèdent
Aller vers le suivant
Etape 7
Le contrôle Microsoft FlexGrid (MSFlexGrid) affiche et opère sur des données placées dans des
tableaux.
Lorsque ce contrôle est lié à un contrôle Data, il affiche les données en lecture seule.
Si le texte placé dans une cellule est trop long pour y être affiché entièrement et que la propriété
WordWrap est définie sur True, le texte passe à la ligne suivante dans la même cellule.
Page 53 / 74
Dans la boite à outils vous verrez le composant suivant :
Insérez le contrôle MSFlexGrid
dans la feuille et ajustez sa
propriété :
A l’exécution vous obtiendrez ceci :
Page 54 / 74
Page 55 / 74
Création de contrôles ActiveX
La première chose qui nous faut réaliser c'est donc de créer le projet qui va contenir notre (ou nos)
contrôle(s). Par défaut, quand vous lancez Visual Basic, une boîte de dialogue apparaît et vous propose
plusieurs modèles de projets. Si ce n'est pas le cas, cliquez dans le menu "Fichier" sur "Nouveau
Projet". La capture d'écran suivante montre cette boîte de dialogue.
Le modèle de projet qui nous intéresse est donc le projet de contrôle ActiveX. Cliquez sur ouvrir après
l'avoir choisit. Dans une certaine mesure, ce type de projet ressemble à un projet de type "Exe
Standard". En effet, vous allez pouvoir éditer votre contrôle via deux outils : le concepteur visuel et
l'éditeur de code. Mais une différence apparaît malgré tout : dans le concepteur graphique, votre
contrôle n'a pas de détourage autour de sa zone visuel comme l'aurait une feuille. Cela est normal :
l'objectif du contrôle c'est d'être utilisé sur une feuille.
Vous pouvez ensuite remplir l'espace de votre contrôle avec des sous-contrôles. La partie visuelle de
notre contrôle va contenir : un contrôle de type Frame , et Label (placé dans le Frame) pour afficher
l'heure et un contrôle Timer pour actualiser régulièrement l'heure dans le Label. Nommez
respectivement vos contrôles fraClock, lblClock et tmrClock. Affectez aussi à la propriété Interval du
Timer la valeur 1000 (l'unité étant la milli-seconde, nous avons donc 1 seconde d'intervalle). Au final,
votre contrôle (en mode conception) devrait ressembler à la capture d'écran suivante.
Page 56 / 74
Une chose importante est à ne pas oublier : il faut renommer le projet et le contrôle
Le nom du projet est "Infini" et l'unique contrôle de ce projet est nommé "Clock".
Changer la propriété ToolboxBitmap : elle permettra d'afficher l'icône souhaitée lorsque votre
contrôle devra être insérer dans la boîte à outils.
Option Explicit
'-Mise à jour du label d'affichage de l'heure-----------------------
Private Sub tmrSeconds_Timer()
lblClock.Caption = Time
End Sub
'-Code de retaillage de l'horloge-----------------------------------
Private Sub UserControl_Resize()
fraClock.Width = UserControl.Width
fraClock.Height = UserControl.Height
lblClock.Width = UserControl.Width
= (UserControl.Height - lblClock.Height) / 2 + 100
End Sub
'-Initialisation de la valeur du label au premier affichage---------
Private Sub UserControl_Show()
tmrSeconds_Timer
End Sub
Ajout du projet de test
Nous allons maintenant ajouter un projet secondaire. En effet, Visual Basic gère la notion de groupe de
projet. Pour ce faire, allez dans le menu "Fichier" et cliquez sur "Ajouter un projet". Le type de projet à
ajouter est "Exe standard". La capture d'écran suivante montre l'explorateur de projets après l'ajout.
Notez aussi que, comme les deux projets font parties du même groupe de projet, l'icône du contrôle
ActiveX apparaît lorsque que vous éditez la feuille du projet de test.
A partir de maintenant, vous pouvez poser vos contrôles sur la feuille de test
Page 57 / 74
Pour l'heure, votre contrôle ActiveX n'existe pas réellement. Certes, il apparaît dans la boîte à
outils, mais cela est fait par ce les deux projets sont intégrés dans le même groupe de projets.
Pour pouvoir utiliser votre contrôle dans un autre projet, sans forcément disposer du code source,
il vous faut compiler votre code pour générer le fichier ".ocx". Ensuite, il vous faut enregistrer
votre (ou vos) composant(s) dans la base de registre Windows.
Tant que vous êtes sur le poste de développement les choses sont plus simples qu'il n'y parait : en effet,
le fait de compiler le projet via l'environnement Visual Basic, enregistrement automatiquement le
contrôle dans la base. Si par contre, vous êtes sur une autre machine et que vous n'avez que le fichier
".ocx" à votre disposition il va falloir réaliser l'enregistrement à la main, via l'outil "". Pour
ce faire, prenez une console, placez-vous dans le répertoire contenant votre fichier ".ocx" et tapez la
command "regsvr32 " (ou représente le nom de votre fichier).
L'outil d'empaquetage et de déploiement fournit avec Visual Basic permet de gérer un programme
d'installation, qui saura installer les contrôles automatiquement sur le poste client. Il ne sera donc plus
utile de lancer la commande "" manuellement.
Page 58 / 74
Utliser le contrôle Data
Private Sub cmdAdd_Click()
Data1.Recordset.AddNew
End Sub
Private Sub cmdUpdate_Click()
Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified
End Sub
Private Sub cmdClose_Click()
Unload Me
End
End Sub
Private Sub cmdDelete_Click()
Dim rep
rep = MsgBox("Suppresion", vbYesNo, "Attention")
If rep = vbYes Then
Data1.Recordset.Delete
precedent
End If
End Sub
Private Sub cmdfind_Click()
Dim rep
rep = InputBox("Entrer le Code Client recherché")
If rep = "" Then Exit Sub
Data1.Recordset.MoveFirst
Data1.Recordset.FindFirst "[code client]=" & "'" & rep & "'"
If Data1.Recordset.NoMatch = True Then
MsgBox "Le code client " & rep & "n'a pas été trouvé"
End If
End Sub
Private Sub cmdfirst_Click()
Page 59 / 74
Data1.Recordset.MoveFirst
End Sub
Private Sub cmdlast_Click()
Data1.Recordset.MoveLast
End Sub
Private Sub cmdnext_Click()
Data1.Recordset.MoveNext
If = True Then
Data1.Recordset.MoveLast
End If
End Sub
Private Sub cmdprevious_Click()
precedent
End Sub
Private Sub Data1_Reposition()
Data1.Caption = "Enregistrement N° " & Data1.Recordset.AbsolutePosition + 1 & " sur " &
Data1.Recordset.RecordCount
End Sub
Public Sub precedent()
Data1.Recordset.MovePrevious
If = True Then
Data1.Recordset.MoveFirst
End If
End Sub
Private Sub Form_Activate()
Data1.Recordset.MoveLast
Data1.Recordset.MoveFirst
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim rep
rep = MsgBox("Etês vous sur de bien vouloir quitter !!!", vbYesNo, "Quitter")
If rep = vbYes Then
Cancel = False
Else
Cancel = True
End If
End Sub
Page 60 / 74
Accéder à une BDD Access en utilisant DataEnvironnement
Etape 1 : Créer la table CDs dans la BDD :
Cette BDD ainsi que le projet Visual Basic doivent être
sauvegardé dans le même répertoire.
Etapes 2 : Passer à Visual Basic et réalisez l’interface suivante :
Le contrôle
DataGrid
Le contrôle DataGrid n’apparaît pas par défaut dans la boite à Outils et il faudra l’insérer
manuellement :
Page 61 / 74
1. Affichez la boite à outils Composant :
B
2. Cochez l’option ci-dessous:
C
Etape 3 : Paramétrez les différentes propriétés des contrôles que contient votre feuille.
Page 62 / 74
Contrôles
Names
DataGrid
DataGrid1
cmdAjouter
cmdsupprimer
txtArtist
txtAlbum
txtTrack
Etape 4 : Ajouter DataEnvironnement :
D
Le paramétrage de DataEnvironnement s’effectue en suivant les étapes suivantes :
Paramétrer la connexion à la BDD :
Page 63 / 74
E
Page 64 / 74
F
G
Page 65 / 74
H
Page 66 / 74
I
Sélectionnez DataGrid1 (Dans Form1) et Attribuez le les propriétés suivantes :
Page 67 / 74
Remarquez le tri
……….
Page 68 / 74
Page 69 / 74
Créer un Data Report
Insérer le contrôle Data Report
L’état suivant apparaîtra :
Définir les propriétés de cet état :
Page 70 / 74
DataSource : Correspond à l’outils choisi pour
se connecter à votre BDD.
DataMember : Correspond à la table définit
dans dataenvironnement.
Glissez les champs que vous voulez afficher vers la section détails :
Page 71 / 74
Ensuite vous devez :
Page 72 / 74
Ce contrôle ressemble au contrôle Label.
Insérez le et modifiez ses propriétés
Caption & fonts.
Idem que pour le précèdent
Insérez ce contrôle et modifiez sa propriété :
Picture
Caption : Page %p sur %P
DataMember : Produits
DataField : Prix unitaire
Il ne vous reste plus que créer un bouton de commande sur une feuille(Form) et d’y ajouter le code
suivant :
Le résultat final :
En bas de chaque page :
En bas de l’Etat :
Page 74 / 74