Vous êtes sur la page 1sur 99

Visual Basic

!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

A. Belad
Universit de Nancy 2

Cours VB

LSC

2003-2004

Introduction
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Pourquoi Visual Basic ?

! A. Belad

Lun des langages de programmation les plus performants


et les plus simples utiliser
Cr par John G. Kemeny et Thoams E. Kurtz en 1963 et
devient vite un langage populaire
Adapt sur PC par Bill Gates, au milieu des annes 70
Depuis, plusieurs versions amliores pour PC ont vu le
jour :
Microsoft QuickBasis et MS-DOS Qbasic
La simplicit du langage explique son choix pour le
dveloppement d'interfaces
Cours VB

LSC

2003-2004

Introduction
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Dveloppement dun programme sous VB

! A. Belad

Trois tapes :
Cration de linterface utilisateur laide des
contrles VB
Dfinition des caractristiques ou proprits des
lments qui composent linterface
Ecriture du code de programmation pour un ou
plusieurs lments de linterface en fonction des
besoins

Cours VB

LSC

2003-2004

Introduction
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Exemple
Ecrire un programme VB qui affiche "Bonjour"
Solution : exo1-demmarrage
Interface

Objets

! A. Belad

Avant le click
Cours VB

LSC

2003-2004

Aprs le click
4

Prise de connaissance
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Dmarrage de VB

! A. Belad

Cliquer sur Dmarrer , sur Programmes , puis sur le


dossier Microsoft Basic 6.0
Cliquer sur licne du programme VB
La bote de dialogue Nouveau projet saffiche et un choix
se prose pour un type de projet crer
Cliquer sur ouvrir pour accepter la proposition par dfaut
Un nouveau projet souvre accompagn de fentres et
doutils
" La taille et la forme exacte de ces fentres dpendent de la
configuration du systme
Cours VB

LSC

2003-2004

Prise de connaissance
Interface
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Cours VB

LSC

2003-2004

Prise de connaissance
Interface
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Feuille Interface Utilisateur

! A. Belad

Cest la feuille par dfaut


(Fentre feuille)
appele Form1, saffiche
au dmarrage
Grille standard avec des points
servant aligner les lments
crs et composant linterface
Utilisateur
On peut ajuster la taille de linterface laide de la souris
On peut ajouter des feuilles supplmentaires laide de la
commande : Ajouter une feuille du Menu Projet
Cours VB

LSC

2003-2004

Prise de connaissance
Interface
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Bote outils

! A. Belad

Contient des outils et contrles


permettant dajouter des lments
linterface
Chaque contrle ajout linterface devient
un objet, ou lment programmable de
linterface
A lexcution du programme, ces objets
agiront comme tous les objets standards
dune application Windows
Cours VB

LSC

2003-2004

Prise de connaissance
Interface
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Fentre Proprits

! A. Belad

Rpertorie les proprits possibles des


lments de linterface et offre la possibilit
de les changer
On peut affecter directement des proprits
aux objets slectionns
Ces proprits peuvent tre ensuite
changes par programme (en agissant sur le
code)
Si la fentre napparat pas, cliquer sur le
bouton correspondant de la barre doutils
Cours VB

LSC

2003-2004

Prise de connaissance
Interface
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Fentre Projet

! A. Belad

Rpertorie les fichiers cres


dans le projet
On y accde par 2 boutons
Code / Afficher lobjet

Fichier projet est suffix par .vbp


Sous le nom du projet, la fentre
affiche les composants sous la
forme dune arborescence
Cliquer sur le bouton Explorateur de projet pour
lafficher
Cours VB

LSC

2003-2004

10

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Exemple 1 : exo1-demmarrage

! A. Belad

Raliser le programme d'affichage


du message "Hello"
Rgle :
En cliquant sur "Afficher"
" Le message s'affiche dans
la zone de texte

Cours VB

LSC

2003-2004

11

Utilisation des contrles


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Exemple 1 : actions

Insrer un bouton Commande


Utiliser Caption pour donner le nom
"Afficher"
Insrer une zone de texte par : TextBox
(bouton ab)
Cliquer sur la zone Text1, annuler la
valeur de la proprit Text (de manire
avoir la zone de texte vide au dpart) ;
Double-Cliquer sur la zone de
commande ok pour rentrer
linstruction dans la fentre de code de
Command1_Click()
Text1.text = "Hello "
Cours VB

LSC

2003-2004

12

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Exemple 2 : programme de jeu

! A. Belad

Il sagit de raliser une interface


dun programme de jeu simulant
une machine sous : Lucky Seven
Rgle :
En cliquant sur "Jouez"
" Des chiffres apparaissent,
si un 7 apparat parmi eux,
alors l'image des sous est
affich

Pour arrter, appuyer sur le bouton : Arrtez


Cours VB

LSC

2003-2004

13

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Exemple 2 : Cration de linterface

! A. Belad

Ouvrir un nouveau projet


Crer les deux boutons de commande :
bouton commande rester appuy
dessus, le dplacer sur la feuille et le
positionner lendroit voulu
Le re-dimensionner avec la souris
(pointer sur le coin infrieur et tirer
avec la souris)
Pour les chiffres, utiliser le bouton
label
Prvoir une zone plus importante pour le
label 4 accueillant le texte Lucky Seven
Introduire une zone Image pour
y insrer limage des sous
Cours VB

LSC

2003-2004

14

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Donner des proprits aux commandes

! A. Belad

Cliquer sur le bouton Command1


Double-cliquer sur la fentre proprits
Double-cliquer sur Caption
" Saisir Jouer

Faire la mme chose avec Command2 en saisissant


Arrter
" Pour retrouver les commandes, il suffit daller dans la zone de
liste droulante, Objet situ en haut de la fentre Proprits

Cours VB

LSC

2003-2004

15

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Dfinition des proprits des tiquettes de chiffres


1. Slectionner les trois tiquettes de chiffres en cliquant d'abord sur la
1re puis sur les deux autres en maintenant le bouton MAJ appuy
Un rectangle de slection encadre chacune des tiquettes
" Comme plusieurs objets ont t slectionns, seules les proprits
susceptibles d'tre changes collectivement sont affiches dans la
fentre Proprits.

2. Proprits dfinir :
Alignement : choisir 2-center ;
BorderStyle : choisir 1-Fixed dans le menu ;
Font : Times New Roman, style Gras, taille : 24 points ;
3. Supprimer les trois libells afin que les cases soient vides au
dmarrage du programme :
Slectionner individuellement chacune des trois tiquettes ;
Double-cliquer sur la proprit Caption et appuyer sur SUPPR. Le
libell de l'objet Label1 est supprim. Rpter l'opration pour les
deux autres
Cours VB

LSC

2003-2004

16

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Dfinition de l'tiquette descriptive


1.
2.
3.
4.

Cliquer sur l'objet tiquette ;


Changer la proprit Caption en Lucky Seven ;
Changer la fonte, la taille comme prcdemment ;
Changer la couleur en agissant sur ForeColor. Cliquer sur
l'onglet "Palette" puis sur la case violet fonc. La couleur est
traduite en Hexadcimal dans la fentre

Cours VB

LSC

2003-2004

17

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Dfinition des proprits de la zone Image

Cette zone est sense contenir le graphique des pices. Ce


graphique apparat lorsque l'utilisateur remporte le jackpot (au
moins une fois le chiffre 7)
1. Cliquer sur l'objet zone d'image
2. Mettre la proprit Stretch True
3. Double cliquer sur la proprit Picture dans la fentre
Proprits. La bote de dialogue "Charger une image"
apparat, puis aller chercher l'image dans la partition
Microsoft sous Clipart. Le fichier s'appelle "Pieces.wmf".
En l'ouvrant, le mtafichier Windows est charg dans la
zone d'image de la feuille
4. Mettre la proprit Visible sur False de manire
masquer les pices au dmarrage du programme. (Vous
le ferez apparatre ultrieurement dans le programme)
Cours VB

LSC

2003-2004

18

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

criture du code du programme

Il s'agit du code charg de :


calculer les chiffres alatoires, de les afficher dans les
cases correspondantes et de dtecter un ventuel
jackpot.
Comme le programme est gr par l'activation des boutons
"Jouer" et "Arrter", il suffit d'associer le code appropri ces
boutons
La fentre Code est une fentre spciale de l'environnement
de programmation permettant d'entrer et d'diter les
instructions de programmation

Cours VB

LSC

2003-2004

19

Ecriture d'un programme


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

criture du code du programme : exo-Lucky

Doubler cliquer sur la fentre "Arrter" sur la feuille. La fentre Code


apparat
Rentrer l'instruction : End
Doubler cliquer sur la fentre "Jouer" sur la feuille. La fentre Code
apparat
Rentrer le code suivant :
Image1.Visible = False
Label1.Caption = Int(Rnd * 10)
Label2.Caption = Int(Rnd * 10)
Label3.Caption = Int(Rnd * 10)
If (Label1.Caption = 7) Or (Label2.Caption = 7) Or _
(Label3.Caption = 7) Then
Image1.Visible = True
Beep
End If
Cours VB

LSC

2003-2004

20

Utilisation des contrles


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 3 : ralisation dun browser

Il sagit de permettre, lors de lexcution, la slection dun


fichier image et den afficher le contenu
La slection concerne :
La partition : a, c, d : une fentre spciale sera ouverte
cet effet
Le rpertoire : une fentre spciale sera ouverte cet
effet avec un menu droulant. Le contenu sera mis jour
partir de la slection de la partition
Le fichier : une fentre spciale sera ouverte cet effet
avec un menu droulant. Le contenu sera mis jour
partir de la slection du rpertoire
Cours VB

LSC

2003-2004

21

Utilisation des contrles


Application 3 (suite)

!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Les commandes :
Cration de la zone du lecteur : contrle DriveListBox
Cration de la zone du rpertoire : contrle DirListBox
Cration de la zone du fichier : contrle FileListBox
Cration de la zone image : contrle Image

zone du lecteur
zone de l'image

zone du rpertoire
zone du fichier

! A. Belad

Cours VB

LSC

2003-2004

22

Utilisation des contrles


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 3 (suite)

Mise jour des proprits

Le fichier image doit tre dun des types suivants :


"

Image1 :
"

*.bmp, *.mf, *.ico ;


Stretch= true, BorderStyle = 1-Fixed Single

Code :
Private Sub Dir1_Change()
File1.Path = Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub
Private Sub File1_Click()
SelectedFile = File1.Path & "\" & File1.FileName
Image1.Picture = LoadPicture(SelectedFile)
End Sub
Cours VB

LSC

2003-2004

23

Utilisation des contrles


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 4 : Utilisation d'un Objet OLE

Il s'agit de crer une interface de boutons d'applications


l'aide du contrle OLE. Comme le montre la figure suivante, il
s'agit de crer 3 boutons correspondant aux applications
Microsoft : Word, Excel et Paint

Cours VB

LSC

2003-2004

24

Utilisation des contrles


!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 4 : Utilisation d'un Objet OLE

Commandes :
Crer les labels tels que mentionn dans la figure
Utiliser le contrle OLE pour crer trois rectangles en
dessous des labels :
" bloc-notes, calcul des cots et Dessins du site ;

Une fentre d'objets s'affiche. Faire dfiler les objets et


choisir l'application souhaite
Changer les proprits des objets :
" Pour Label 1 : Font : Times
" Pour Ole1, Ole2 et Ole3 : BorderStyle (0-None), Appearence
(0-Flat) et BlackColor (Gris Clair)

Mettre le code End dans la procdure vnementielle


Command1_Click
Cours VB

LSC

2003-2004

25

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Anatomie dune instruction VB

Cest un ordre donn la machine pour raliser un travail


donn
Cet ordre peut tre de diffrentes natures :
lecture dune donne, affichage dun rsultat, ouverture
dun fichier, calcul dun rsultat, action systme, etc.
Linstruction a une syntaxe qui dnote une phrase dans le
langage dexpression des ordres
Exemples
// un seul mot cl dont leffet est dmettre un son
Beep
Label1.Caption = Time // syntaxe plus dveloppe conduisant
affecter par le signe = la valeur de la fonction de VB Time la
proprit Caption de lobjet Label1
Cours VB

LSC

2003-2004

26

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Notion de variable

Cest un conteneur de valeur


Dclaration
DIM Nom
" Rserve un espace mmoire
" En labsence de dclaration de type, Nom est dclar
de type variant et peut contenir aussi bien des
nombres que du texte
Dclaration implicite sans DIM
Nom = "Toto"

Valeur1 = 24
Cours VB

LSC

2003-2004

Valeur2 = 38.5
27

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Notion de variable

Exercice : crire une interface VB affichant le contenu dune


variable Nom, contenant successivement le texte "smart" et le
nombre 99
1.
2.
3.
4.
5.

Crer deux boutons : Afficher et Arrter


Changer Caption de Command1 en Afficher
Changer Caption de Command2 en Arrter
Crer deux labels : Label1 et Label2
associs au bouton Afficher
Changer les proprits des labels :
Caption =vide, BorderSTyle = 1-Fixed Single,
Font = MS sans srif, normal, 12
Cours VB

LSC

2003-2004

28

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Notion de variable

Exercice (suite)
6. Introduire comme code dans la procdure vnementielle
Command1_Click associ Label1 et Label2:
Dim Nom
Nom = "Smart"
Label1.Caption = Nom
Nom = 99
Label2.Caption = Nom

7. Introduire comme code dans la procdure vnementielle


Command2_Click :
End
Cours VB

LSC

2003-2004

29

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Utiliser une variable pour l'entre : InputBox

! A. Belad

InputBox est une fonction de lecture VB qui renvoie une


valeur. Cette valeur est affecte une variable
1.
2.
3.
4.

Crer deux boutons commandes, l'un appel InputBox et l'autre


Quitter (agir sur leur Caption pour indiquer ces noms)
Crer un bouton label, le creuser en agissant sur BorderStyle
Mettre End dans le code de la commande Quitter
Inscrire le code suivant pour la commande InputBox
Dim Invite, NomComplet
Invite = "Saisissez votre prnom et votre nom"
NomComplet = InputBox$(Invite)
Label1.Caption = NomComplet
Cours VB

LSC

2003-2004

30

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Utiliser une variable pour la sortie : MsgBox

! A. Belad

Il est possible d'afficher le contenu d'une variable en l'affectant


une proprit (par ex.. caption d'un objet tiquette) ou en le
passant comme argument une fonction de bote de dialogue

La syntaxe de MsgBox est :

BoutonCliqu = MsgBox(Message, NumeroDeBouton, Titre)


Message : texte affich l'cran
BoutonCliqu : est un numro de style de bouton (de 1 5)
Titre : texte affich dans la barre de titre de la bote de
dialogue
La variable BoutonCliqu est affecte du rsultat livr par la
fonction MsgBox, c'est le bouton sur lequel l'utilisateur a cliqu
dans la bote de dialogue
Cours VB

LSC

2003-2004

31

Programmation en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Utiliser une variable pour la sortie : MsgBox


Pratique :

Rutiliser le projet prcdent


Ajouter dans le code de la procdure Command1_Click
l'instruction suivante avant
Label1.Caption = NomComplet : MsgBox (NomComplet), ,
"Rsultat de l'entre"

Excuter : une bote de dialogue apparat pour confirmer


l'entre du label avant de l'afficher dans label1, comme
montr ci-aprs :

Cours VB

LSC

2003-2004

32

Programmation en VB
Principaux types
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Cours VB

LSC

2003-2004

33

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Type de donnes personnalises

! A. Belad

VB permet de crer des types de donnes personnalises grce


l'instruction Type
Exemple :
Type Personnel
Nom As String
DateDeNaissance As Date
DateEmbauche As Date

End Type
Aprs la cration du type, on peut l'utiliser dans le programme
Dim ChefProduit As Personnel
ChefProduit.Nom = "Eric Cody"
Cours VB

LSC

2003-2004

34

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Notion d'oprateur

! A. Belad

Cours VB

LSC

2003-2004

35

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Notion d'oprateur : exercice

! A. Belad

Crer l'interface suivante permettant de raliser les oprations


mathmatiques binaires, la manire de l'interface suivante

Cours VB

LSC

2003-2004

36

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Notion d'oprateur : exercice : exo9-operateurs

! A. Belad

1. Deux contrles label, Label1 et Label2 portant le texte Variable 1


et Variable 2 dans Caption
2. Deux contrles TextBox, Text1 et Text2. Effacer leur Caption
3. Un contrle Frame pour crer la zone des oprateurs, changer sa
Caption
4. Utiliser la commande OptionButton avec comme Caption le texte
de l'oprateur pour introduire les oprateurs
5. Un contrle Label pour Label3 portant le texte Rsultat dans la
proprit Caption
6. Un contrle Label, Label4, dont la proprit Caption est vide et
Borderstyle 1-Fixed Single
7. Un contrle CommandButton portant le texte Calculer dans la
proprit Caption et un autre portant le texte Quitter dans Caption
Cours VB

LSC

2003-2004

37

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Notion d'oprateur : exercice (suite 1)


8.
9.

Mettre End comme Code la procdure de Quitter ;


Mettre le code suivant dans la procdure de Calculer.
Dim Premier, Second 'Dclaration de variables
Premier = Val(Text1.Text) 'Conversion en nombre
Second = Val(Text2.Text) 'Conversion en nombre
'Si le premier cercle est activ
If Option1.Value = True Then
Label4.Caption = Premier + Second
End If
'Si le deuxime cercle est activ
If Option2.Value = True Then
Label4.Caption = Premier - Second
End If
Cours VB

LSC

2003-2004

38

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Notion d'oprateur : exercice (suite 2)


'Si le troisime cercle est activ
If Option3.Value = True Then
Label4.Caption = Premier * Second
End If
'Si le quatrime cercle est activ
If Option4.Value = True Then
Label4.Caption = Premier / Second
End If

Cours VB

LSC

2003-2004

39

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Les expressions conditionnelles

Oprateurs de comparaison
Exemples :
10 <> 20 'donne vrai
Score < 20 'donne vrai si la valeur de score est infrieure 20
Score = Label1.Caption 'donne vrai
Text1.text = "Jean" 'donne vrai si
Structures de dcision IfThen
Forme 1:
If Condition Then Instruction

Exemple :
If Score>=20 Then Label1.Caption = "Vous avez gagn !"
Cours VB

LSC

2003-2004

40

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Les expressions conditionnelles


Forme 2 :
If Condition1 Then Instructions1
ElseIf Condition2 Then Instruction2
Else
Instructions-finales
End If

Cours VB

LSC

2003-2004

41

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Pratique
Ecrire une interface qui valide la connexion, pour une
machine, le nom de son utilisateur

Cours VB

LSC

2003-2004

42

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Solution : code crire pour la commande d'ouverture


NomUtilisateur = InputBox("Saisissez votre nom")
If NomUtilisateur = "Laura" Then
MsgBox ("Bonjour, Laura ! En forme pour attaquer le travail ? ")
Form1.Picture = _
LoadPicture("C:\Program Files\Microsoft Office\Clipart\Popular\Approuv.wmf")
ElseIf NomUtilisateur = "Marc" Then
MsgBox ("Bonjour, Marc ! Prt attaquer le travail ? ")
Form1.Picture = _
LoadPicture("C:\Program Files\Microsoft Office\Clipart\Popular\Approuve.wmf")
Else
MsgBox ("Dsol, Je ne vous connais pas !")
End 'Abandon du programme
End If
Cours VB

LSC

2003-2004

43

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Solution (suite)
Une connexion ngative donnera ce rsultat :

Cours VB

LSC

2003-2004

44

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Oprateurs logiques
On peut crire des expressions conditionnelles complexes
en utilisant les oprateurs logiques suivants : and, or, not,
xor
Pratique :
complter l'exercice prcdent par le contrle du mot
de passe
Pour cela : il suffit d'ajouter aprs l'entre du nom :
Pass = InputBox ("Saisissez votre mot de passe")
If NomUtilisateur = "Laura" And Pass ="May17" Then

Cours VB

LSC

2003-2004

45

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Oprateurs logiques (suite)

Select Case
C'est une slection choix multiple
Forme :
Select Case variable
Case Value 1
Instruction1

Case value2
Instruction2

End Select

Cours VB

LSC

2003-2004

46

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Oprateurs logiques (suite)

Exemple
Select Case Pourcent
Case Is >= 90
Lettre = "A"
Case 60 to 89
Lettre = "B"
Case Else
Lettre = "F"
End Select
Notez qu'il y a plusieurs faons d'exprimer la condition
du Case:
avec les signes < et > il faut utiliser le IS
on peut spcifier un range: 60 TO 89
on peut spcifier des valeurs: 44, 46, 55, 62
Cours VB

LSC

2003-2004

47

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Les boucles

Boucle For Next


Permet d'excuter un groupe d'instructions un certain
nombre de fois
Syntaxe :
For variable = start To end
Instructions excuter rptitivement

Next Variable
Exemple :
For i = 1 To 4 {step j}
Beep
Next i
Cours VB

LSC

2003-2004

48

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Utilisation du Print
Form1.Print " Coucou "
Va crire en haut gauche de la Form1 " Coucou "
La prochaine instruction Print provoquera une criture
juste en dessous sauf si nous avions termin
linstruction prcdente par un point-virgule. Auquel cas, la
prochaine criture seffectuera la suite

Cours VB

LSC

2003-2004

49

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Utilisation du Print : Remarque


A priori, si on redimensionne Form... le texte disparat. Cela
peut tre gnant
Il est facile dy remdier :
Fixer auparavant la proprit AutoRedraw de la Form
True
Attention, cela ralentit toutefois lapplication
Autres solutions possibles :
Grer soi-mme lvnement Paint de la Form, qui
correspond un redimensionnement
Cours VB

LSC

2003-2004

50

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 1 : affichage du compteur de la boucle


par Print
Slectionner Form1
Mettre la proprit AutoRedraw True
Double-cliquer sur la commande Boucle et mettre le code
For i =1 To 10
Print "Ligne"; i
Next i

Cours VB

LSC

2003-2004

51

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 2 : affichage d'images


1. Prparation d'imagettes
Ouvrir la fentre Poste de travail et passer en mode
d'affichage Grandes icnes par le menu Affichage
Appuyer sur les touches ALT+IMPR ECRAN : cette
commande a pour effet de copier la fentre active dans le
Presse-papiers de Windows
Charger Paint
Appeler la commande Coller du menu Edition
Activer l'outil Slection et tracer un cadre de slection autour
de la premire icne
Cours VB

LSC

2003-2004

52

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

1. Prparation d'imagettes (suite)


Appeler Copier du menu Edition pour placer une copie
de cette icne dans le Presse-papiers
Appeler la commande "Copier vers" du menu Edition.
Dans la bote de dialogues, localiser le rpertoire
Exercices et ranger l'image sous le nom Image1.bmp
Refaire la mme chose pour les 3 autres images

Cours VB

LSC

2003-2004

53

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

2. Cration de l'application
Utiliser le contrle Image et crer un petit contrle
image en haut de la feuille
Dans le menu Edition, Cliquer sur la commande
Copier, une copie du contrle Image est place dans
le presse Papiers de Windows. On va s'en servir pour
crer trois nouveaux contrles Image sur la feuille
Appeler la commande Coller du menu Edition,
rpondre oui la cration d'un groupe de contrle.

Un deuxime contrle Image apparat, le glisser pour le


superposer au rectangle de l'image

Cours VB

LSC

2003-2004

54

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

2. Cration de l'application (suite)


Appeler Coller du menu Edition et faire cela pour
toutes les images
Crer un bouton de commande, appele "Afficher les
images" et lui affecter le code mentionn dans la
figure
Enregistrer la feuille et le projet sous les
MonGroupeContrles, puis excuter

Cours VB

LSC

2003-2004

55

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Vrifier bien en recopiant les zones d'images que leur numro


va de Image1(1) Image1(4), sinon a ne marchera pas

Cours VB

LSC

2003-2004

56

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 2 : interface

Cours VB

LSC

2003-2004

57

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Instruction EXIT FOR


Cette instruction permet d'interrompre la boucle et de
sortir :
Exemple :
For i = 1 To 10
Nom = InputBox("Saisissez votre nom ou tapez Fini
pour quitter")
If Nom ="Fini" Then Exit For
Print Nom
Next i
Cours VB

LSC

2003-2004

58

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Boucle DoLoop

Elle offre une alternative aux boucles ForNext. Elle excute le


bloc jusqu' ce qu'une condition dfinie devienne True
Syntaxe :
Do While condition
Instructions excuter rptitivement
Loop
Exemple :
Do While Nom <> "Fini"
Nom = InputBox(("Saisissez votre nom ou tapez Fini pour
quitter")
If Nom <> "Fini" Then Print Nom
Loop
Cours VB

LSC

2003-2004

59

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application

Ouvrir la fentre Proprits de la feuille, mettre Visible False


(excution en arrire plan)
Double-cliquer sur la feuille et entrer le code suivant :
Prompt = "Saisissez une valeur en degrs Fahrenheit"
Do
Ftemp=InputBox(Prompt, "Fahrenheit en Celsius")
If Ftemp <> "" Then
Celsius = Int(Ftemp + 40) * 5/9-40)
MsgBox (Celsius), , "Temprature en degrs Celsius"
End If
Loop While Ftemp <> ""
End
Cours VB

LSC

2003-2004

60

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Rsultat

Cours VB

LSC

2003-2004

61

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Until
Exemple :
Do Nom = InputBox(("Saisissez votre nom ou tapez Fini
pour quitter")
If Nom <> "Fini" Then Print Nom
Loop Until Nom = "Fini"

Cours VB

LSC

2003-2004

62

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Objet Timer
VB permet d'excuter un groupe d'instructions pendant un
Laps de temps dtermin en utilisant un objet Timer
C'est un objet horloge invisible permettant d'accder
l'horloge systme partir d'un programme

Cours VB

LSC

2003-2004

63

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 1 : cration d'une horloge


numrique
Crer un nouveau projet, redimensionner la
feuille
Cliquer sur le contrle Label ;
Donner les proprits suivantes :
" Label 1 : Caption (vide), Font (Times, gras,
24), Alignement (2-Center)

Timer1 : Interval (1000), Enabled (True);


Form1 : Caption (Horloge numrique) ;
Double-Cliquer sur Timer et rentrer
l'instruction suivante
Label1.Caption = Time
Cours VB

LSC

2003-2004

64

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 2 : contrler le dlai de saisie du mot de


passe
Crer une zone de texte, une commande, un label
et un Timer
Text1 : Text (vide), PasswordChar (*)
Form1 : Caption (Mot de passe)
Label1 : Caption (Saisissez)
Command1 : Caption (Test)
Timer1 : Interval (15000), Enabled (True)
Mettre le code indiqu dans la figure et excuter.
Cours VB

LSC

2003-2004

65

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application 2

Cours VB

LSC

2003-2004

66

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Notions de modules et de procdures

! A. Belad

Si on crit des programmes complexes


On va avoir besoin de multiplier les feuilles (Form) et les
procdures vnementielles qui utilisent les mmes variables
Or
Les variables sont locales aux procdures vnementielles et
ne peuvent pas donc partages (ni lues ni modifies) par
d'autres procdures
De mme
Les procdures vnementielles sont locales par rapport la
feuille dans laquelle elles ont t cres
Pour partager des variables et des procdures
Il faut les dclarer dans un ou plusieurs modules standards
Cours VB

LSC

2003-2004

67

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Module standard
C'est un fichier spcial
Suffix par .bas
Contenant des variables et des procdures utilisables
n'importe o dans le programme
L'enregistrer en faisant Enregistrer Module1
Contrairement aux feuilles
Les modules ne contiennent pas d'objets ni de
proprits
Ils ne sont forms que de code affichable et ditable
dans la fentre code (du module)

! A. Belad

Cours VB

LSC

2003-2004

68

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Module standard : exemple

! A. Belad

Crer un nouveau projet


Cliquer sur la commande "Ajouter un module" dans le menu Projet
et cliquer sur "Ouvrir"
VB ajoute au projet un module standard appel Module1
Observer dans toutes les fentres l'apparition de module1
L'enregistrer comme Form1 et Projet1
Double-cliquer sur la fentre proprit, seule la proprit Name
apparat permettant de spcifier le nom d'objet du module
Ce nom permettra de distinguer les modules si on cre
plusieurs
Renommer la proprit Name en modVariables et appuyer sur la
touche ENTREE
Cours VB

LSC

2003-2004

69

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Dclarer une variable Public


Pour pouvoir partager une variable par toutes les
procdures, il suffit de la dclarer Public dans un module
standard
Ex :
Public TotalCourant
Par dfaut
Les variables publiques sont dclares de type Variant
dans les modules, mais on peut spcifier un type
Ex :
Public Nom As String

! A. Belad

Cours VB

LSC

2003-2004

70

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application
Rouvrir le projet Lucky.vpb
Enregistrer le projet sous les noms Gains.frm pour la feuille
et Gains.vbp pour le projet
Ajouter un nouveau contrle Label la feuille
Donner les proprits suivantes Label5 :
Alignment(2-center), Captions (Gains : 0), Font (Arial,
Gras Italique, 12 points), ForeColor (Vert), Name
(lblGains)
Donner la proprit suivante Form1
Caption Lucky Seven

! A. Belad

Cours VB

LSC

2003-2004

71

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application (suite)

! A. Belad

Ajouter un module standard


Ecrire dans le module :
Public Gains
Enregistrer Module sous le nom
: Gains.bas
Double-cliquer sur la commande
"Jouer" de Feuille1 et ajouter les
instructions suivantes aprs
Beep :
Gains = Gains+1
lblGains.Caption = "Gains : " &
Gains
Jouer et apprcier
Cours VB

LSC

2003-2004

72

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Crer une procdure caractre gnral

! A. Belad

En plus des variables publiques, un module standard peut


contenir des procdures caractre gnral
Cette procdure :
Peut tre appele de partout dans le programme
N'a rien avoir avec les procdures vnementielles qui sont
associes des objets
Il existe 3 types de procdures
1. Procdures de fonctions
" Appelables par leur nom, peuvent recevoir des arguments et
retournent une valeur associe leur nom

2. Procdures Sub
" Idem que les procdures de fonctions sauf qu'elles ne
retournent pas de valeurs associes leur nom
Cours VB

LSC

2003-2004

73

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Crer une procdure caractre gnral

! A. Belad

3. Procdures Property
" Procdures utilises pour crer et manipuler des
proprits personnalises dans un programme
" Elles sont bien pratiques pour personnaliser les
contrles et d'tendre le langage en crant de
nouveaux objets, nouvelles proprits ou nouvelles
mthodes

Cours VB

LSC

2003-2004

74

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

les procdures de fonction


Elles ont un nom, comprennent des arguments et
retournent un rsultat
Syntaxe :
Function NomFunction ([arguments]) [As Type]
Instructions de la fonction
End Function
Les arguments sont spars par des virgules. La fonction
retourne toujours une valeur porte par son nom

! A. Belad

Cours VB

LSC

2003-2004

75

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application
Ajouter une fonction au programme Lucky Seven pour
calculer le taux de russite.
Pour cela mettre en place une fonction taux et une variable
publique appele Jeux dans le module standard
Cette fonction sera appele chaque fois que le bouton
"jouer" est activ
Le rsultat doit apparatre dans un nouveau label placer
sur la feuille

! A. Belad

Cours VB

LSC

2003-2004

76

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application
1. Enregistrer le projet prcdent sous le nom Reussite
2. Crer une nouvelle tiquette Label sous Gains avec comme
proprits pour Label5 : Alignment (2-center), Caption (0,0%),
Font (Arial, Gras Italique, 12 points), ForeColor (Rouge),
Name(lblTaux)
3. Dans la fentre Projet, double-cliquer sur Reussite.bas pour
l'ouvrir dans la fentre code, saisir:
Public Parties
Saisir la dclaration de fonction suivante dans le module standard

! A. Belad

Cours VB

LSC

2003-2004

77

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application
Ajouter les 2 instructions suivantes :
Celle l aprs la dernire instruction comprenant Rnd :

! A. Belad

Parties = Parties + 1

Celle l entre End If et End Sub :


lbltaux.Caption = Taux(Gains, Parties)

Cours VB

LSC

2003-2004

78

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Rsultat

! A. Belad

Cours VB

LSC

2003-2004

79

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Les procdures Sub


Syntaxe :
Sub NomProcedure ([Argument])
Instructions
End Sub
Les noms et nombre d'arguments doivent correspondre
aux noms et nombre l'appel

! A. Belad

Cours VB

LSC

2003-2004

80

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Exemple :
Sub AjouteNomAliste(personne$)
If personne$ <> "" Then
Form1.List1.AddItem personne$
Msg$ = personne$ & "ajout la liste"
Else
Msg$ = "Nom indfini"
End If
MsgBox (Msg$), , "Ajoutde nom"
End Sub

! A. Belad

Cours VB

LSC

2003-2004

81

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Appel
Il suffit d'crire le nom de la procdure et de rpertorier ses
arguments :
AjouteNomAliste "Mariane"
Ou
AjouteNomAliste NouveauNom$

! A. Belad

Cours VB

LSC

2003-2004

82

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Application
Crer l'interface dessine ci-aprs. Les zones de texte
contiendront les noms de salaris dans deux dpartements
de l'entreprise :

! A. Belad

Cours VB

LSC

2003-2004

83

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Oprations

! A. Belad

Text1 et Text2 : Text(vide), Multiline (True), Scrollbars (2vertical), Tabstop (False), Locked (True), Name (txtVentes pour
Text1 et txtMarketing pour Text2)
Label1 : caption(Ventes, Font (Gras), Name (lblVentes)
Label2 : caption(Marketing, Font (Gras), Name (lblMarketing)
Command1 : Caption(Ajouter un nom), Name(cmdVentes)
Command2 : Caption(Ajouter un nom), Name(cmdMarketing)
Command3 : Caption(Quitter), Name(cmdQuit)
Form1 : Caption (Affectation des personnels aux dpartements)

Cours VB

LSC

2003-2004

84

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Interface cre

! A. Belad

Cours VB

LSC

2003-2004

85

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Ajouter un module standard, et saisir le code suivant

! A. Belad

Sub AjouterNom(Team$, ChaineRetour$)


Prompt$ = "Saisissez un salari de " & Team$
Nm$ = InputBox(Prompt$, "Bote de saisie")
WrapCharacter$ = Chr(13) + Chr(10)
ChaineRetour$ = Nm$ & WrapCharacter$
End Sub

Cours VB

LSC

2003-2004

86

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Ouvrir la fentre code et ajouter les codes suivants :

! A. Belad

Cours VB

LSC

2003-2004

87

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Enregistrer le projet sous le nom : Dpartements et Excuter

! A. Belad

Cours VB

LSC

2003-2004

88

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Transmission des arguments

! A. Belad

Par rfrence :
Tout changement effectu dans la procdure sur la
variable est retourn la procdure appelante. On peut
accompagner une variable par le mot-cl ByVal pour
forcer le passage par valeur.
Sub CoutPlusInteret(ByVal Cout, Total)

Par valeur : il suffit de placer la variable entre parenthses


CoutPlusInteret(Cout), Total)

Cours VB

LSC

2003-2004

89

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Les tableaux

! A. Belad

Dclaration d'un tableau statique


Public NomTableau(Dim1, Dim2, ) As TypeDeDonnes
Exemple :
Public Employs (9) As String
Lors de la cration, VB rserve de l'espace en mmoire
La rfrence aux lments se fait de 0 8
Cependant, si l'on veut que la rfrence se fasse partir de 1, il
suffit d'ajouter l'instruction suivante dans un module standard :
Option Base 1
Cours VB

LSC

2003-2004

90

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

Les tableaux

! A. Belad

Rfrence au tableau :
Employs(5) = "Leslie"
Dclaration d'un tableau dynamique
La dclaration en statique empche l'extension du tableau en
cas d'enregistrements de valeurs supplmentaires. Pour
rsoudre ce problme, on dclare le tableau en dynamique, et
on le redimensionne une fois connu le nombre d'lments
Public Tempratures () As Variant

Days = InputBox("Combien de jours ,", "Crer le tableau")


.
Redim Tempratures(Days)
Cours VB

LSC

2003-2004

91

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Application
Crer un tableau de tempratures
1. Crer trois boutons de commande, les placer en bas de
la feuille, avec les proprits suivantes :
Command1 : Caption(Entrer tempratures), Name
(cmdEntrerTemps)
Command2 : Caption(Afficher Tempratures), Name
(cmdAfficherTemps)
Command3 : Caption (Quitter), Name(cmdQuitter), Form1 :
Caption (Tempratures), AutoRead(True) ;

Cours VB

LSC

2003-2004

92

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Cours VB

LSC

2003-2004

93

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

2. Dans le menu Projet, cliquer sur la commande Ajouter un


module, puis sur Ouvrir pour crer un module standard
destin la dclaration du tableau
Un module standard apparat dans la fentre Code
3. Dans le module standard, saisir les instructions :
Option Base 1
Public Tempratures(7) As Variant
" Public permet de rendre le Tableau global et donc
disponible dans tout le programme

Cours VB

LSC

2003-2004

94

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

4. Entrer le code suivant pour la commande


cmdEntrerTemps_Clik (procdure vnementielle
rattache au bouton "Entrer Tempratures"
Cls 'efface l'cran
Prompt$ = "Entrer la temprature la plus haute"
For i% = 1 To 7
Title$ = "Jour" & i%
Tempratures(i%) = InputBox(Prompt$, Title$)
Next i%

Cours VB

LSC

2003-2004

95

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

5. Entrer le code suivant pour la commande


cmdAfficherTemps_Clik (procdure vnementielle rattache au
bouton "Entrer Tempratures"
Print "Tempratures les plus leves de la semaine :"
Print
For i% = 1 To 7
Print "Jour"; i%, Tempratures(i%)
Total! = Total! + Tempratures(i%)
Next i%
Print
Print "Tempratures moyenne: "; Total! / 7
6. Mettre End dans la procdure Quitter
Cours VB

LSC

2003-2004

96

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Rsultat

Cours VB

LSC

2003-2004

97

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Affichage du tableau dans une zone de texte

Dclarer une zone de texte avec la commande TextBox


Soit Text1 le nom de cette zone
Soit Employes le nom du tableau
On crit :
Text1.Text = "" //initialisation blanc
For i% = Tete To Queue
Text1.Text = Text1.Text & " " & Employes(i)
Next i%
Cours VB

LSC

2003-2004

98

Programmer en VB
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!

! A. Belad

Quelques remarques
Dclaration de variables publiques
Ouvrir un Module pour le faire
Initialisation de ces variables
Se mettre dans Form1
Cliquer sur le coin en haut droite
Cliquer sur Initialize
" Cration d'une subroutine Private Sub Form_Initialize()
dans laquelle on fait l'initialisation

Cours VB

LSC

2003-2004

99

Vous aimerez peut-être aussi