You are on page 1of 99

Visual Basic

z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
A. Belaïd
Université de Nancy 2
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 1


Introduction

Pourquoi Visual Basic ?


z
z
z
g
z
z
z
– L’un des langages de programmation les plus performants
z
z
et les plus simples à utiliser
z
z
z
– Créé par John G. Kemeny et Thoams E. Kurtz en 1963 et
z
z
devient vite un langage populaire
z
z
z
– Adapté sur PC par Bill Gates, au milieu des années 70
z
z – Depuis, plusieurs versions améliorées pour PC ont vu le
z
z
z
jour :
z
z • Microsoft QuickBasis et MS-DOS Qbasic
z
z
z – La simplicité du langage explique son choix pour le
z
z développement d'interfaces
z

 A. Belaïd Cours VB LSC 2003-2004 2


Introduction

z
z
z
z
g Développement d’un programme sous VB
z
z
z
– Trois étapes :
z
z
z
• Création de l’interface utilisateur à l’aide des
z
z contrôles VB
z
z
z • Définition des caractéristiques ou propriétés des
z
z
z
éléments qui composent l’interface
z
z
z
• Ecriture du code de programmation pour un ou
z
z plusieurs éléments de l’interface en fonction des
z
z
z
besoins
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 3


Introduction

z
z
z
z
g Exemple
z
z
z
– Ecrire un programme VB qui affiche "Bonjour"
z
z
z
– Solution : exo1-demmarrage
z
z
z
Interface
z
z
z
z Objets
z
z
z
z
z
z
z
z
z
z
z
z

Avant le click Après le click


 A. Belaïd Cours VB LSC 2003-2004 4
Prise de connaissance

z
z
z g Démarrage de VB
z
z
z
– Cliquer sur « Démarrer », sur « Programmes », puis sur le
z
z dossier « Microsoft Basic 6.0 »
z
z
z
– Cliquer sur l’icône du programme VB
z
z
z
• La boîte de dialogue « Nouveau projet » s’affiche et un choix
z
z
se prose pour un type de projet à créer
z
z – Cliquer sur « ouvrir » pour accepter la proposition par défaut
z
z
z • Un nouveau projet s’ouvre accompagné de fenêtres et
z
z d’outils
z
z
z
¾ La taille et la forme exacte de ces fenêtres dépendent de la
z
z
configuration du système
z

 A. Belaïd Cours VB LSC 2003-2004 5


Prise de connaissance
Interface

z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 6


Prise de connaissance
Interface

z
z
z
g Feuille Interface Utilisateur
z
z
– C’est la feuille par défaut
z
z
(Fenêtre feuille)
z
z • appelée Form1, s’affiche
z
z
z
au démarrage
z
z
– Grille standard avec des points
z
z
servant à aligner les éléments
z
z créés et composant l’interface
z
z Utilisateur
z
z
z
– On peut ajuster la taille de l’interface à l’aide de la souris
z
z
– On peut ajouter des feuilles supplémentaires à l’aide de la
z
z commande : « Ajouter une feuille » du Menu « Projet »
z
z

 A. Belaïd Cours VB LSC 2003-2004 7


Prise de connaissance
Interface

z
z
z g Boîte à outils
z
z
z – Contient des outils et contrôles
z
z
z
permettant d’ajouter des éléments à
z
z l’interface
z
z
z – Chaque contrôle ajouté à l’interface devient
z
z
z
un objet, ou élément programmable de
z
z l’interface
z
z
z – A l’exécution du programme, ces objets
z
z
z
agiront comme tous les objets standards
z
z d’une application Windows
z
z

 A. Belaïd Cours VB LSC 2003-2004 8


Prise de connaissance
Interface

z
z
z g Fenêtre Propriétés
z
z
z
– Répertorie les propriétés possibles des
z
z éléments de l’interface et offre la possibilité
z
z de les changer
z
z
z – On peut affecter directement des propriétés
z
z aux objets sélectionnés
z
z
z – Ces propriétés peuvent être ensuite
z
z changées par programme (en agissant sur le
z
z
z
code)
z
z – Si la fenêtre n’apparaît pas, cliquer sur le
z
z bouton correspondant de la barre d’outils
z
z

 A. Belaïd Cours VB LSC 2003-2004 9


Prise de connaissance
Interface

Fenêtre Projet
z
z
z
g
z
z
z
– Répertorie les fichiers crées
z
z
dans le projet
z
z
z
– On y accède par 2 boutons
z
z • Code / Afficher l’objet
z
z
z – Fichier projet est suffixé par .vbp
z
z
z
– Sous le nom du projet, la fenêtre
z
z affiche les composants sous la
z
z forme d’une arborescence
z
z
z • Cliquer sur le bouton « Explorateur de projet » pour
z
z l’afficher
z

 A. Belaïd Cours VB LSC 2003-2004 10


Ecriture d'un programme

z
z
z g Exemple 1 : exo1-demmarrage
z
z
z – Réaliser le programme d'affichage
z
z
z
du message "Hello"
z
z
z
– Règle :
z
z
z
• En cliquant sur "Afficher"
z
z ¾ Le message s'affiche dans
z
z
z
la zone de texte
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 11


Utilisation des contrôles

z
z g Exemple 1 : actions
z
z – Insérer un bouton Commande
z
z
z
– Utiliser Caption pour donner le nom
z "Afficher"
z
z
z
– Insérer une zone de texte par : TextBox
z (bouton ab)
z
z
z
– Cliquer sur la zone Text1, annuler la
z valeur de la propriété Text (de manière à
z
z avoir la zone de texte vide au départ) ;
z
z
z
– Double-Cliquer sur la zone de
z commande « ok » pour rentrer
z
z l’instruction dans la fenêtre de code de
z
z Command1_Click()
z
z Text1.text = "Hello "
z

 A. Belaïd Cours VB LSC 2003-2004 12


Ecriture d'un programme

Exemple 2 : programme de jeu


z
z
z
g
z
z
z
– Il s’agit de réaliser une interface
z
z
d’un programme de jeu simulant
z
z une machine à sous : Lucky Seven
z
z
z
– Règle :
z
z
z
• En cliquant sur "Jouez"
z
z ¾ Des chiffres apparaissent,
z
z si un 7 apparaît parmi eux,
z
z alors l'image des sous est
z
z affiché
z
z
z
• Pour arrêter, appuyer sur le bouton : Arrêtez
z
z

 A. Belaïd Cours VB LSC 2003-2004 13


Ecriture d'un programme

z
z
z
g Exemple 2 : Création de l’interface
z
z
– Ouvrir un nouveau projet
z
z
– Créer les deux boutons de commande :
z
z
bouton « commande » rester appuyé
z dessus, le déplacer sur la feuille et le
z
z positionner à l’endroit voulu
z
z • Le re-dimensionner avec la souris
z
z (pointer sur le coin inférieur et tirer
z
z avec la souris)
z
z – Pour les chiffres, utiliser le bouton
z
z « label »
z
z – Prévoir une zone plus importante pour le
z
z label 4 accueillant le texte Lucky Seven
z
z • Introduire une zone « Image » pour
z
y insérer l’image des sous
 A. Belaïd Cours VB LSC 2003-2004 14
Ecriture d'un programme

z
z
z g Donner des propriétés aux commandes
z
z
z
– Cliquer sur le bouton Command1
z
z
z
• Double-cliquer sur la fenêtre propriétés
z
z • Double-cliquer sur Caption
z
z
z
¾ Saisir « Jouer »
z
z • Faire la même chose avec Command2 en saisissant
z
z
z
« Arrêter »
z
z ¾ Pour retrouver les commandes, il suffit d’aller dans la zone de
z
z liste déroulante, Objet situé en haut de la fenêtre Propriétés
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 15


Ecriture d'un programme
g Définition des propriétés des étiquettes de chiffres
z 1. Sélectionner les trois étiquettes de chiffres en cliquant d'abord sur la
z
z 1ère puis sur les deux autres en maintenant le bouton MAJ appuyé
z
z • Un rectangle de sélection encadre chacune des étiquettes
z
z ¾ Comme plusieurs objets ont été sélectionnés, seules les propriétés
z
z
susceptibles d'être changées collectivement sont affichées dans la
z fenêtre Propriétés.
z
z
z
2. Propriétés à définir :
z
z
• Alignement : choisir 2-center ;
z
z • BorderStyle : choisir 1-Fixed dans le menu ;
z
z • Font : Times New Roman, style Gras, taille : 24 points ;
z
z 3. Supprimer les trois libellés afin que les cases soient vides au
z
z démarrage du programme :
z
z • Sélectionner individuellement chacune des trois étiquettes ;
z
z
z
• Double-cliquer sur la propriété Caption et appuyer sur SUPPR. Le
z libellé de l'objet Label1 est supprimé. Répéter l'opération pour les
deux autres
 A. Belaïd Cours VB LSC 2003-2004 16
Ecriture d'un programme

z
z

Définition de l'étiquette descriptive


z
z g
z
z
z 1. Cliquer sur l'objet étiquette ;
z
z
z
2. Changer la propriété Caption en Lucky Seven ;
z
z
z
3. Changer la fonte, la taille… comme précédemment ;
4. Changer la couleur en agissant sur ForeColor. Cliquer sur
z
z
z
z
z
l'onglet "Palette" puis sur la case violet foncé. La couleur est
z
z
traduite en Hexadécimal dans la fenêtre
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 17


Ecriture d'un programme
g Définition des propriétés de la zone Image
z
z
– Cette zone est sensée contenir le graphique des pièces. Ce
z
z
graphique apparaît lorsque l'utilisateur remporte le jackpot (au
z
z
moins une fois le chiffre 7)
z
z 1. Cliquer sur l'objet zone d'image
z
z
z
2. Mettre la propriété Stretch à True
z
z 3. Double cliquer sur la propriété Picture dans la fenêtre
Propriétés. La boîte de dialogue "Charger une image"
z
z
z
z apparaît, puis aller chercher l'image dans la partition
z
z Microsoft sous Clipart. Le fichier s'appelle "Pieces.wmf".
z
z En l'ouvrant, le métafichier Windows est chargé dans la
z
z zone d'image de la feuille
z
z
z
4. Mettre la propriété Visible sur False de manière à
z
z
masquer les pièces au démarrage du programme. (Vous
z
le ferez apparaître ultérieurement dans le programme)
 A. Belaïd Cours VB LSC 2003-2004 18
Ecriture d'un programme

z
z
z
g Écriture du code du programme
z
z
– Il s'agit du code chargé de :
z
z • calculer les chiffres aléatoires, de les afficher dans les
z
z cases correspondantes et de détecter un éventuel
z
z
z
jackpot.
z
z
– Comme le programme est géré par l'activation des boutons
z
z
"Jouer" et "Arrêter", il suffit d'associer le code approprié à ces
z
z boutons
z
z
z
– La fenêtre Code est une fenêtre spéciale de l'environnement
z
z
de programmation permettant d'entrer et d'éditer les
z
z
instructions de programmation
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 19


Ecriture d'un programme
g Écriture du code du programme : exo-Lucky
z – Doubler cliquer sur la fenêtre "Arrêter" sur la feuille. La fenêtre Code
z
z apparaît
z
z – Rentrer l'instruction : End
z
z
z
– Doubler cliquer sur la fenêtre "Jouer" sur la feuille. La fenêtre Code
z apparaît
z
z
z
– Rentrer le code suivant :
z
z
Image1.Visible = False
z
z Label1.Caption = Int(Rnd * 10)
z
z Label2.Caption = Int(Rnd * 10)
z
z Label3.Caption = Int(Rnd * 10)
z
z
z
If (Label1.Caption = 7) Or (Label2.Caption = 7) Or _
z
z
(Label3.Caption = 7) Then
z
z Image1.Visible = True
z
z Beep
End If
 A. Belaïd Cours VB LSC 2003-2004 20
Utilisation des contrôles

z
z
z
z
g Application 3 : réalisation d’un browser
z
z
z
– Il s’agit de permettre, lors de l’exécution, la sélection d’un
z
z
fichier image et d’en afficher le contenu
z
z
z
– La sélection concerne :
z
z • La partition : a, c, d… : une fenêtre spéciale sera ouverte
z
z
z
à cet effet
z
z • Le répertoire : une fenêtre spéciale sera ouverte à cet
z
z effet avec un menu déroulant. Le contenu sera mis à jour
z
z
z
à partir de la sélection de la partition
z
z • Le fichier : une fenêtre spéciale sera ouverte à cet effet
z
z
z
avec un menu déroulant. Le contenu sera mis à jour à
partir de la sélection du répertoire
 A. Belaïd Cours VB LSC 2003-2004 21
Utilisation des contrôles
g Application 3 (suite)
z
z – Les commandes :
z
z
z
• Création de la zone du lecteur : contrôle DriveListBox
z
z
z
• Création de la zone du répertoire : contrôle DirListBox
z
z • Création de la zone du fichier : contrôle FileListBox
z
z
z • Création de la zone image : contrôle Image
z
z
z
z
z
z zone du lecteur
z
z
z zone du répertoire zone de l'image
z
z
z
z zone du fichier
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 22


Utilisation des contrôles
g Application 3 (suite)
z – Mise à jour des propriétés
z
z
z
• Le fichier image doit être d’un des types suivants :
z ¾ *.bmp, *.mf, *.ico ;
z
z
z
• Image1 :
z ¾ Stretch= true, BorderStyle = 1-Fixed Single
z
z
z
– Code :
z
z
Private Sub Dir1_Change()
z
z
File1.Path = Dir1.Path
z End Sub
z
z Private Sub Drive1_Change()
z
z Dir1.Path = Drive1.Drive
z
z End Sub
z
z Private Sub File1_Click()
z
z SelectedFile = File1.Path & "\" & File1.FileName
z
z Image1.Picture = LoadPicture(SelectedFile)
End Sub
 A. Belaïd Cours VB LSC 2003-2004 23
Utilisation des contrôles
g Application 4 : Utilisation d'un Objet OLE
z
z – Il s'agit de créer une interface de boutons d'applications à
z
z
z
l'aide du contrôle OLE. Comme le montre la figure suivante, il
z
z
s'agit de créer 3 boutons correspondant aux applications
z
z
Microsoft : Word, Excel et Paint
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 24


Utilisation des contrôles

z
g Application 4 : Utilisation d'un Objet OLE
z
z – Commandes :
z
z
z
• Créer les labels tels que mentionné dans la figure
z
z • Utiliser le contrôle OLE pour créer trois rectangles en
z
z dessous des labels :
z
z ¾ bloc-notes, calcul des coûts et Dessins du site ;
z
z
z
• Une fenêtre d'objets s'affiche. Faire défiler les objets et
z
z
choisir l'application souhaitée
z
z • Changer les propriétés des objets :
z
z ¾ Pour Label 1 : Font : Times…
z
z
z
¾ Pour Ole1, Ole2 et Ole3 : BorderStyle (0-None), Appearence
z (0-Flat) et BlackColor (Gris Clair)
z
z
z
• Mettre le code End dans la procédure événementielle
z
Command1_Click
 A. Belaïd Cours VB LSC 2003-2004 25
Programmation en VB
g Anatomie d’une instruction VB
z
z
z
– C’est un ordre donné à la machine pour réaliser un travail
z
z
donné
z
z
z
– Cet ordre peut être de différentes natures :
z
z • lecture d’une donnée, affichage d’un résultat, ouverture
z
z
z
d’un fichier, calcul d’un résultat, action système, etc.
– L’instruction a une syntaxe qui dénote une phrase dans le
z
z
z
z
z
langage d’expression des ordres
z
z – Exemples
z
z
z
Beep // un seul mot clé dont l’effet est d’émettre un son
z
z
z
Label1.Caption = Time // syntaxe plus développée conduisant à
z
z
affecter par le signe = la valeur de la fonction de VB Time à la
z
propriété Caption de l’objet Label1
 A. Belaïd Cours VB LSC 2003-2004 26
Programmation en VB

z
z
z
g Notion de variable
z
z – C’est un conteneur de valeur
z
z
z
– Déclaration
z
z
z
DIM Nom
¾ Réserve un espace mémoire
z
z
z
z
z ¾ En l’absence de déclaration de type, Nom est déclaré
z
z de type variant et peut contenir aussi bien des
z
z
z
nombres que du texte
z
z – Déclaration implicite sans DIM
z
z
z
z
z
z
Nom = "Toto" Valeur1 = 24 Valeur2 = 38.5

 A. Belaïd Cours VB LSC 2003-2004 27


Programmation en VB

z
z
z
z
z
g Notion de variable
z
z – Exercice : écrire une interface VB affichant le contenu d’une
variable Nom, contenant successivement le texte "smart" et le
z
z
z
z
z
nombre 99
z
z 1. Créer deux boutons : Afficher et Arrêter
z
z 2. Changer Caption de Command1 en Afficher
z
z
z
3. Changer Caption de Command2 en Arrêter
z
z 4. Créer deux labels : Label1 et Label2
z
z associés au bouton Afficher
z
z
z
5. Changer les propriétés des labels :
z
z
Caption =vide, BorderSTyle = 1-Fixed Single,
z Font = MS sans sérif, normal, 12

 A. Belaïd Cours VB LSC 2003-2004 28


Programmation en VB

Notion de variable
z
z
z
g
z
z – Exercice (suite)
z
z
z
6. Introduire comme code dans la procédure événementielle
z
z
Command1_Click associé à Label1 et Label2:
z
z Dim Nom
z
z Nom = "Smart"
z
z Label1.Caption = Nom
z
z
z
Nom = 99
z
z
Label2.Caption = Nom
z
z 7. Introduire comme code dans la procédure événementielle
z
z Command2_Click :
z
z
z
End
z

 A. Belaïd Cours VB LSC 2003-2004 29


Programmation en VB

z
z
z
g Utiliser une variable pour l'entrée : InputBox
z
z – InputBox est une fonction de lecture VB qui renvoie une
z
z
z
valeur. Cette valeur est affectée à une variable
z
z
1. Créer deux boutons commandes, l'un appelé InputBox et l'autre
z
z
Quitter (agir sur leur Caption pour indiquer ces noms)
z
z 2. Créer un bouton label, le creuser en agissant sur BorderStyle
z
z
z
3. Mettre End dans le code de la commande Quitter
z
z 4. Inscrire le code suivant pour la commande InputBox
z
z Dim Invite, NomComplet
z
z
z
Invite = "Saisissez votre prénom et votre nom"
z
z NomComplet = InputBox$(Invite)
z
z
z
Label1.Caption = NomComplet

 A. Belaïd Cours VB LSC 2003-2004 30


Programmation en VB
g Utiliser une variable pour la sortie : MsgBox
z
z – Il est possible d'afficher le contenu d'une variable en l'affectant
z
z
z
à une propriété (par ex.. caption d'un objet étiquette) ou en le
z
z
passant comme argument à une fonction de boîte de dialogue
z
z
z
g La syntaxe de MsgBox est :
z
z – BoutonCliqué = MsgBox(Message, NumeroDeBouton, Titre)
z
z
z – Message : texte affiché à l'écran
z
z
z
– BoutonCliqué : est un numéro de style de bouton (de 1 à 5)
z
z
z
– Titre : texte affiché dans la barre de titre de la boîte de
z
z
dialogue
z
z
z
– La variable BoutonCliqué est affectée du résultat livré par la
z
z
fonction MsgBox, c'est le bouton sur lequel l'utilisateur a cliqué
z
dans la boîte de dialogue
 A. Belaïd Cours VB LSC 2003-2004 31
Programmation en VB

z
z
z
g Utiliser une variable pour la sortie : MsgBox
– Pratique :
z
z
z
z
z • Réutiliser le projet précédent
z
z
z
• Ajouter dans le code de la procédure Command1_Click
z
z l'instruction suivante avant
z
z
z
Label1.Caption = NomComplet : MsgBox (NomComplet), ,
z
z
"Résultat de l'entrée"
z
z • Exécuter : une boîte de dialogue apparaît pour confirmer
z
z
z
l'entrée du label avant de l'afficher dans label1, comme
z
z
montré ci-après :
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 32


Programmation en VB
Principaux types

z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 33


Programmer en VB

Type de données personnalisées


z
z
z
g
z
z – VB permet de créer des types de données personnalisées grâce
z
z à l'instruction Type
z
z
z
– Exemple :
z
z Type Personnel
z
z
z
Nom As String
z
z
DateDeNaissance As Date
z
z DateEmbauche As Date
z
z End Type
z
z
z
– Après la création du type, on peut l'utiliser dans le programme
z
z Dim ChefProduit As Personnel
z
z
z
ChefProduit.Nom = "Eric Cody"

 A. Belaïd Cours VB LSC 2003-2004 34


Programmer en VB

z
z
z g Notion d'opérateur
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 35


Programmer en VB

z
z
z
g Notion d'opérateur : exercice
z
z
– Créer l'interface suivante permettant de réaliser les opérations
z
z
mathématiques binaires, à la manière de l'interface suivante
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 36


Programmer en VB

z
g Notion d'opérateur : exercice : exo9-operateurs
z
z
z
1. Deux contrôles label, Label1 et Label2 portant le texte Variable 1
z
z
et Variable 2 dans Caption
z
z 2. Deux contrôles TextBox, Text1 et Text2. Effacer leur Caption
z
z
z
3. Un contrôle Frame pour créer la zone des opérateurs, changer sa
z
z
Caption
z
z 4. Utiliser la commande OptionButton avec comme Caption le texte
z
z de l'opérateur pour introduire les opérateurs
z
z
z
5. Un contrôle Label pour Label3 portant le texte Résultat dans la
z
z
propriété Caption
z
z 6. Un contrôle Label, Label4, dont la propriété Caption est vide et
z
z Borderstyle à 1-Fixed Single
z
z
z
7. Un contrôle CommandButton portant le texte Calculer dans la
propriété Caption et un autre portant le texte Quitter dans Caption
 A. Belaïd Cours VB LSC 2003-2004 37
Programmer en VB

z
g Notion d'opérateur : exercice (suite 1)
z
z
8. Mettre End comme Code à la procédure de Quitter ;
z
z 9. Mettre le code suivant dans la procédure de Calculer.
z
z Dim Premier, Second 'Déclaration de variables
z
z Premier = Val(Text1.Text) 'Conversion en nombre
z
z
z
Second = Val(Text2.Text) 'Conversion en nombre
z
z
z
z 'Si le premier cercle est activé
z
z If Option1.Value = True Then
z
z Label4.Caption = Premier + Second
z
z
z
End If
z
z
'Si le deuxième cercle est activé
z
z If Option2.Value = True Then
z
z Label4.Caption = Premier - Second
End If
 A. Belaïd Cours VB LSC 2003-2004 38
Programmer en VB

z g Notion d'opérateur : exercice (suite 2)


z
z
z
'Si le troisième cercle est activé
z
z
z
If Option3.Value = True Then
z
z Label4.Caption = Premier * Second
z
z
z End If
z
z
z
'Si le quatrième cercle est activé
z
z
z
If Option4.Value = True Then
z
z Label4.Caption = Premier / Second
z
z
z
End If
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 39


Programmer en VB

z
g Les expressions conditionnelles
z
z
z
– Opérateurs de comparaison
z
z – Exemples :
z
z
z
10 <> 20 'donne vrai
z
z
z
Score < 20 'donne vrai si la valeur de score est inférieure à 20
z
z Score = Label1.Caption 'donne vrai …
z
z
z Text1.text = "Jean" 'donne vrai si …
z
z
z
– Structures de décision If…Then
z
z • Forme 1:
z
z
z
If Condition Then Instruction
z
z
z
• Exemple :
z
If Score>=20 Then Label1.Caption = "Vous avez gagné !"
 A. Belaïd Cours VB LSC 2003-2004 40
Programmer en VB

z g Les expressions conditionnelles


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

 A. Belaïd Cours VB LSC 2003-2004 41


Programmer en VB

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

 A. Belaïd Cours VB LSC 2003-2004 42


Programmer en VB

z
g Solution : code à écrire pour la commande d'ouverture
z
z
NomUtilisateur = InputBox("Saisissez votre nom")
z
z If NomUtilisateur = "Laura" Then
z
z MsgBox ("Bonjour, Laura ! En forme pour attaquer le travail ? ")
z
z Form1.Picture = _
z
z
z
LoadPicture("C:\Program Files\Microsoft Office\Clipart\Popular\Approuv.wmf")
z
z
ElseIf NomUtilisateur = "Marc" Then
z
z MsgBox ("Bonjour, Marc ! Prêt à attaquer le travail ? ")
z
z Form1.Picture = _
z
z LoadPicture("C:\Program Files\Microsoft Office\Clipart\Popular\Approuve.wmf")
z
z
z
Else
z
z
MsgBox ("Désolé, Je ne vous connais pas !")
z
z End 'Abandon du programme
z
z End If

 A. Belaïd Cours VB LSC 2003-2004 43


Programmer en VB

z
g Solution (suite)
z
z Une connexion négative donnera ce résultat :
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 44


Programmer en VB

z
g Opérateurs logiques
z
z
z
– On peut écrire des expressions conditionnelles complexes
z
z
en utilisant les opérateurs logiques suivants : and, or, not,
z
z xor
z
z
z
– Pratique :
z
z
z
• compléter l'exercice précédent par le contrôle du mot
z
z
de passe
z
z
z
• Pour cela : il suffit d'ajouter après l'entrée du nom :
z
z Pass = InputBox ("Saisissez votre mot de passe")
z
z
z
If NomUtilisateur = "Laura" And Pass ="May17" Then …
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 45


Programmer en VB

z
g Opérateurs logiques (suite)
z
z – Select Case
z
z
z
• C'est une sélection à choix multiple
z
z – Forme :
z
z
z
Select Case variable
z
z
Case Value 1
z
z Instruction1
z
z
z
Case value2
z
z
Instruction2
z
z …
z
z
z
End Select
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 46


Programmer en VB

z
g Opérateurs logiques (suite)
z
z – Exemple
z
z
z
Select Case Pourcent
z
z
Case Is >= 90
z
z
Lettre = "A"
z
z
Case 60 to 89
z
z
Lettre = "B"
z
z
Case Else
z
z
Lettre = "F"
z
z
End Select
z
z – Notez qu'il y a plusieurs façons d'exprimer la condition
z
z du Case:
z
z avec les signes < et > il faut utiliser le IS
z
z on peut spécifier un range: 60 TO 89
on peut spécifier des valeurs: 44, 46, 55, 62
z

 A. Belaïd Cours VB LSC 2003-2004 47


Programmer en VB

Les boucles
z
z
z
g
z
z – Boucle For … Next
z
z
z
• Permet d'exécuter un groupe d'instructions un certain
z
z
nombre de fois
z
z – Syntaxe :
z
z
z
For variable = start To end
z
z Instructions à exécuter répétitivement
z
z
z
Next Variable
z
z – Exemple :
z
z
z
For i = 1 To 4 {step j}
z
z
Beep
z
z Next i

 A. Belaïd Cours VB LSC 2003-2004 48


Programmer en VB

z
z
z g Utilisation du Print
z
z
z
z
z
z
z
Form1.Print " Coucou "
z
z
z
z
z
z
– Va écrire en haut à gauche de la Form1 " Coucou "
z
z
z
– La prochaine instruction Print provoquera une écriture
z
z juste en dessous… sauf si nous avions terminé
z
z
z
l’instruction précédente par un point-virgule. Auquel cas, la
z
z prochaine écriture s’effectuera à la suite
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 49


Programmer en VB

z
z
z g Utilisation du Print : Remarque
z
z
z – A priori, si on redimensionne Form... le texte disparaît. Cela
z
z
z
peut être gênant
z
z
z
– Il est facile d’y remédier :
z
z
z
• Fixer auparavant la propriété AutoRedraw de la Form à
z
z True
z
z
z • Attention, cela ralentit toutefois l’application
z
z
z – Autres solutions possibles :
z
z
z • Gérer soi-même l’événement Paint de la Form, qui
correspond à un redimensionnement…
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 50


Programmer en VB

z
z
z g Application 1 : affichage du compteur de la boucle
z
z
z par Print
z
z
z – Sélectionner Form1
z
z
z – Mettre la propriété AutoRedraw à True
z
z
z – Double-cliquer sur la commande Boucle et mettre le code
z
z
z For i =1 To 10
z
z
z Print "Ligne"; i
z
z
z Next i
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 51


Programmer en VB

z
z
z
g Application 2 : affichage d'images
z
z 1. Préparation d'imagettes
z
z
z • Ouvrir la fenêtre Poste de travail et passer en mode
z
z d'affichage Grandes icônes par le menu Affichage
z
z
z • Appuyer sur les touches ALT+IMPR ECRAN : cette
z
z commande a pour effet de copier la fenêtre active dans le
z
z
z
Presse-papiers de Windows
z
z • Charger Paint
z
z
z
• Appeler la commande Coller du menu Edition
z
z
z
• Activer l'outil Sélection et tracer un cadre de sélection autour
z
z
de la première icône
z

 A. Belaïd Cours VB LSC 2003-2004 52


Programmer en VB

z
z
z
1. Préparation d'imagettes (suite)
z
z
z
• Appeler Copier du menu Edition pour placer une copie
z
z de cette icône dans le Presse-papiers
z
z
z • Appeler la commande "Copier vers" du menu Edition.
z
z
z
Dans la boîte de dialogues, localiser le répertoire
z
z Exercices et ranger l'image sous le nom Image1.bmp
z
z
z – Refaire la même chose pour les 3 autres images
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 53


Programmer en VB

z
z
z
2. Création de l'application
z
z • Utiliser le contrôle Image et créer un petit contrôle
z
z
z
image en haut de la feuille
z
z • Dans le menu Edition, Cliquer sur la commande
z
z
z
Copier, une copie du contrôle Image est placée dans
z
z
le presse Papiers de Windows. On va s'en servir pour
z
z
créer trois nouveaux contrôles Image sur la feuille
z
z
z
• Appeler la commande Coller du menu Edition,
z
z
répondre oui à la création d'un groupe de contrôle.
z
z • Un deuxième contrôle Image apparaît, le glisser pour le
z
z superposer au rectangle de l'image
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 54


Programmer en VB

z
z
z
2. Création de l'application (suite)
z
z
z
• Appeler Coller du menu Edition … et faire cela pour
z
z toutes les images
z
z
z • Créer un bouton de commande, appelée "Afficher les
z
z
z
images" et lui affecter le code mentionné dans la
z
z figure
z
z
z • Enregistrer la feuille et le projet sous les
z
z
z
MonGroupeContrôles, puis exécuter
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 55


Programmer en VB

z
z
z
Vérifier bien en recopiant les zones d'images que leur numéro
z
z va de Image1(1) à Image1(4), sinon ça ne marchera pas
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 56


Programmer en VB

z
z
z g Application 2 : interface
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 57


Programmer en VB

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

 A. Belaïd Cours VB LSC 2003-2004 58


Programmer en VB

z
z
z
g Boucle Do…Loop
z
z
– Elle offre une alternative aux boucles For…Next. Elle exécute le
z
z
bloc jusqu'à ce qu'une condition définie devienne True
z
z – Syntaxe :
z
z
z
Do While condition
z
z Instructions à exécuter répétitivement
z
z
z
Loop
z
z – Exemple :
z
z
z
Do While Nom <> "Fini"
z
z Nom = InputBox(("Saisissez votre nom ou tapez Fini pour
quitter")
z
z
z
z
z
If Nom <> "Fini" Then Print Nom
Loop
 A. Belaïd Cours VB LSC 2003-2004 59
Programmer en VB

z
z
z
g Application
z
z
– Ouvrir la fenêtre Propriétés de la feuille, mettre Visible à False
z
z
(exécution en arrière plan)
z
z – Double-cliquer sur la feuille et entrer le code suivant :
z
z
z
Prompt = "Saisissez une valeur en degrés Fahrenheit"
z
z Do
z
z
z
Ftemp=InputBox(Prompt, "Fahrenheit en Celsius")
z
z If Ftemp <> "" Then
z
z
z
Celsius = Int(Ftemp + 40) * 5/9-40)
z
z MsgBox (Celsius), , "Température en degrés Celsius"
z
z
z
End If
z
z Loop While Ftemp <> ""
End
 A. Belaïd Cours VB LSC 2003-2004 60
Programmer en VB

z
z
z g Résultat
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 61


Programmer en VB

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

 A. Belaïd Cours VB LSC 2003-2004 62


Programmer en VB

z
z
z g Objet Timer
z
z
z – VB permet d'exécuter un groupe d'instructions pendant un
z
z
z
Laps de temps déterminé en utilisant un objet Timer
z
z
z
– C'est un objet horloge invisible permettant d'accéder à
z
z l'horloge système à partir d'un programme
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 63


Programmer en VB

z
z – Application 1 : création d'une horloge
z
z numérique
z
z
z
• Créer un nouveau projet, redimensionner la
z
z
feuille
z
z • Cliquer sur le contrôle Label ;
z
z
z
• Donner les propriétés suivantes :
z
z
¾ Label 1 : Caption (vide), Font (Times, gras,
z
z
24), Alignement (2-Center)
z
z • Timer1 : Interval (1000), Enabled (True);
z
z
z
• Form1 : Caption (Horloge numérique) ;
z
z • Double-Cliquer sur Timer et rentrer
z
z l'instruction suivante
z
z Label1.Caption = Time

 A. Belaïd Cours VB LSC 2003-2004 64


Programmer en VB

z
z
z
– Application 2 : contrôler le délai de saisie du mot de
z
z passe
z
z
z • Créer une zone de texte, une commande, un label
z
z
z
et un Timer
z
z
z
• Text1 : Text (vide), PasswordChar (*)
z
z
z
• Form1 : Caption (Mot de passe)
z
z
z
• Label1 : Caption (Saisissez…)
z
z
z
• Command1 : Caption (Test…)
• Timer1 : Interval (15000), Enabled (True)
z
z
z

• Mettre le code indiqué dans la figure et exécuter.


z
z
z

 A. Belaïd Cours VB LSC 2003-2004 65


Programmer en VB

z
z
z
– Application 2
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 66


Programmer en VB

z g Notions de modules et de procédures


z
z
z
– Si on écrit des programmes complexes
z
z • On va avoir besoin de multiplier les feuilles (Form) et les
z
z procédures événementielles qui utilisent les mêmes variables
z
z
z
– Or
z
z • Les variables sont locales aux procédures événementielles et
z
z ne peuvent pas donc partagées (ni lues ni modifiées) par
z
z d'autres procédures
z
z
z
– De même
z
z • Les procédures événementielles sont locales par rapport à la
z
z feuille dans laquelle elles ont été créées
z
z
z
– Pour partager des variables et des procédures
z
z • Il faut les déclarer dans un ou plusieurs modules standards

 A. Belaïd Cours VB LSC 2003-2004 67


Programmer en VB

z
z
g Module standard
z
z – C'est un fichier spécial
z
z
z • Suffixé par .bas
z
z
z
• Contenant des variables et des procédures utilisables
z
z n'importe où dans le programme
z
z
z
• L'enregistrer en faisant Enregistrer Module1
z
z
z
– Contrairement aux feuilles
z
z • Les modules ne contiennent pas d'objets ni de
z
z
z
propriétés
z
z • Ils ne sont formés que de code affichable et éditable
dans la fenêtre code (du module)
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 68


Programmer en VB

z g Module standard : exemple


z
z
z
– Créer un nouveau projet
z
z – Cliquer sur la commande "Ajouter un module" dans le menu Projet
z
z et cliquer sur "Ouvrir"
z
z
z
• VB ajoute au projet un module standard appelé Module1
z
z • Observer dans toutes les fenêtres l'apparition de module1
z
z
z
– L'enregistrer comme Form1 et Projet1
z
z – Double-cliquer sur la fenêtre propriété, seule la propriété Name
z
z apparaît permettant de spécifier le nom d'objet du module
z
z
z
• Ce nom permettra de distinguer les modules si on crée
z
z
plusieurs
z
z – Renommer la propriété Name en modVariables et appuyer sur la
z
z touche ENTREE

 A. Belaïd Cours VB LSC 2003-2004 69


Programmer en VB

z
z
g Déclarer une variable Public
z
z – Pour pouvoir partager une variable par toutes les
z
z
z
procédures, il suffit de la déclarer Public dans un module
z
z
standard
z
z
z
– Ex :
z
z • Public TotalCourant
z
z
z – Par défaut
z
z
z
– Les variables publiques sont déclarées de type Variant
z
z dans les modules, mais on peut spécifier un type
z
z
z
– Ex :
• Public Nom As String
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 70


Programmer en VB

z
z
g Application
z
z – Réouvrir le projet Lucky.vpb
z
z
z – Enregistrer le projet sous les noms Gains.frm pour la feuille
z
z et Gains.vbp pour le projet
z
z
z – Ajouter un nouveau contrôle Label à la feuille
z
z
z
– Donner les propriétés suivantes à Label5 :
z
z
z
• Alignment(2-center), Captions (Gains : 0), Font (Arial,
z
z
Gras Italique, 12 points), ForeColor (Vert), Name
z
z (lblGains)
z
z
z
– Donner la propriété suivante à Form1
• Caption Lucky Seven
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 71


Programmer en VB

z g Application (suite)
z
z
z
– Ajouter un module standard
z
z – Ecrire dans le module :
z
z
z
Public Gains
z
z – Enregistrer Module sous le nom
z
z : Gains.bas
z
z
z
– Double-cliquer sur la commande
z
z
"Jouer" de Feuille1 et ajouter les
z
z
instructions suivantes après
z
z
Beep :
z
z Gains = Gains+1
z
z
z
lblGains.Caption = "Gains : " &
z
z
Gains
– Jouer et apprécier
 A. Belaïd Cours VB LSC 2003-2004 72
Programmer en VB

z g Créer une procédure à caractère général


z
z
z
– En plus des variables publiques, un module standard peut
z
z
contenir des procédures à caractère général
z
z – Cette procédure :
z
z
z
• Peut être appelée de partout dans le programme
z
z • N'a rien avoir avec les procédures événementielles qui sont
z
z associées à des objets
z
z
z
– Il existe 3 types de procédures
z
z 1. Procédures de fonctions
z
z ¾ Appelables par leur nom, peuvent recevoir des arguments et
z
z retournent une valeur associée à leur nom
z
z
z
2. Procédures Sub
z
z
¾ Idem que les procédures de fonctions sauf qu'elles ne
retournent pas de valeurs associées à leur nom
 A. Belaïd Cours VB LSC 2003-2004 73
Programmer en VB

z
z
g Créer une procédure à caractère général
z
z
z
3. Procédures Property
z
z
z
¾ Procédures utilisées pour créer et manipuler des
z
z
propriétés personnalisées dans un programme
z
z
z
¾ Elles sont bien pratiques pour personnaliser les
z
z
contrôles et d'étendre le langage en créant de
z
z nouveaux objets, nouvelles propriétés ou nouvelles
z
z méthodes
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 74


Programmer en VB

z
z
z g les procédures de fonction
z
z
z – Elles ont un nom, comprennent des arguments et
z
z
z
retournent un résultat
z
z
z
– Syntaxe :
z
z
z
Function NomFunction ([arguments]) [As Type]
z
z
z
Instructions de la fonction
z
z
z
End Function
– Les arguments sont séparés par des virgules. La fonction
z
z
z
z
z retourne toujours une valeur portée par son nom
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 75


Programmer en VB

z
z
z g Application
z
z
z – Ajouter une fonction au programme Lucky Seven pour
z
z
z
calculer le taux de réussite.
z
z
z
– Pour cela mettre en place une fonction taux et une variable
z
z publique appelée Jeux dans le module standard
z
z
z – Cette fonction sera appelée chaque fois que le bouton
z
z
z
"jouer" est activé
z
z
z
– Le résultat doit apparaître dans un nouveau label à placer
z
z sur la feuille
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 76


Programmer en VB

z
z
z
g Application
z
z
1. Enregistrer le projet précédent sous le nom Reussite
z
z 2. Créer une nouvelle étiquette Label sous Gains avec comme
z
z propriétés pour Label5 : Alignment (2-center), Caption (0,0%),
z
z
z
Font (Arial, Gras Italique, 12 points), ForeColor (Rouge),
z
z
Name(lblTaux)
z
z
3. Dans la fenêtre Projet, double-cliquer sur Reussite.bas pour
z
z l'ouvrir dans la fenêtre code, saisir:
z
z
z
Public Parties
z
z
– Saisir la déclaration de fonction suivante dans le module standard
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 77


Programmer en VB

z
z
z g Application
z
z
z – Ajouter les 2 instructions suivantes :
z
z
z • Celle là après la dernière instruction comprenant Rnd :
z
z
z
Parties = Parties + 1
z
z
z
• Celle là entre End If et End Sub :
z
z
z
lbltaux.Caption = Taux(Gains, Parties)
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 78


Programmer en VB

z
z
z g Résultat
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 79


Programmer en VB

z
z
z g Les procédures Sub
z
z
z – Syntaxe :
z
z
z Sub NomProcedure ([Argument])
z
z
z Instructions
z
z
z End Sub
z
z
z – Les noms et nombre d'arguments doivent correspondre
z
z
z
aux noms et nombre à l'appel
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 80


Programmer en VB

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

 A. Belaïd Cours VB LSC 2003-2004 81


Programmer en VB

z
z
z g Appel
z
z
z – Il suffit d'écrire le nom de la procédure et de répertorier ses
z
z
z
arguments :
z
z
z
AjouteNomAliste "Mariane"
z
z
z
Ou
z
z
z
AjouteNomAliste NouveauNom$
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 82


Programmer en VB

z
z
z g Application
z
z
z – Créer l'interface dessinée ci-après. Les zones de texte
z
z
z
contiendront les noms de salariés dans deux départements
z
z de l'entreprise :
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 83


Programmer en VB

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

 A. Belaïd Cours VB LSC 2003-2004 84


Programmer en VB

z
z
z g Interface créée
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 85


Programmer en VB

z
z
z g Ajouter un module standard, et saisir le code suivant
z
z
z Sub AjouterNom(Team$, ChaineRetour$)
z
z
z Prompt$ = "Saisissez un salarié de " & Team$
z
z
z Nm$ = InputBox(Prompt$, "Boîte de saisie")
z
z
z WrapCharacter$ = Chr(13) + Chr(10)
z
z
z ChaineRetour$ = Nm$ & WrapCharacter$
z
z
z End Sub
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 86


Programmer en VB

z
z
z g Ouvrir la fenêtre code et ajouter les codes suivants :
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 87


Programmer en VB

z
z
z
g Enregistrer le projet sous le nom : Départements et Exécuter
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 88


Programmer en VB

z
z
z g Transmission des arguments
z
z
z – Par référence :
z
z
z • Tout changement effectué dans la procédure sur la
z
z
z
variable est retourné à la procédure appelante. On peut
z
z accompagner une variable par le mot-clé ByVal pour
z
z
z
forcer le passage par valeur.
z
z Sub CoutPlusInteret(ByVal Cout, Total)
z
z
z – Par valeur : il suffit de placer la variable entre parenthèses
z
z
z CoutPlusInteret(Cout), Total)
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 89


Programmer en VB

z
z
z g Les tableaux
z
z
z
– Déclaration d'un tableau statique
z
z
z
Public NomTableau(Dim1, Dim2, …) As TypeDeDonnées
z
z – Exemple :
z
z
z
Public Employés (9) As String
z
z
z
– Lors de la création, VB réserve de l'espace en mémoire
z
z – La référence aux éléments se fait de 0 à 8
z
z
z – Cependant, si l'on veut que la référence se fasse à partir de 1, il
z
z suffit d'ajouter l'instruction suivante dans un module standard :
z
z
z Option Base 1
z
z

 A. Belaïd Cours VB LSC 2003-2004 90


Programmer en VB

Les tableaux
z
z
z
g
z
z – Référence au tableau :
z
z
z
• Employés(5) = "Leslie"
z
z – Déclaration d'un tableau dynamique
z
z
z
• La déclaration en statique empêche l'extension du tableau en
z
z
cas d'enregistrements de valeurs supplémentaires. Pour
z
z
résoudre ce problème, on déclare le tableau en dynamique, et
z
z
on le redimensionne une fois connu le nombre d'éléments
z
z Public Températures () As Variant
z
z …
z
z
z
Days = InputBox("Combien de jours ,", "Créer le tableau")
z
z
….
z
Redim Températures(Days)
 A. Belaïd Cours VB LSC 2003-2004 91
Programmer en VB

z
z
z g Application
z
z
z – Créer un tableau de températures
z
z
z 1. Créer trois boutons de commande, les placer en bas de
z
z
z
la feuille, avec les propriétés suivantes :
z
z – Command1 : Caption(Entrer températures), Name
z
z
z
(cmdEntrerTemps)
z
z – Command2 : Caption(Afficher Températures), Name
z
z
z
(cmdAfficherTemps)
z
z – Command3 : Caption (Quitter), Name(cmdQuitter), Form1 :
z
z Caption (Températures), AutoRead(True) ;
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 92


Programmer en VB

z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 93


Programmer en VB

z
z
z
2. Dans le menu Projet, cliquer sur la commande Ajouter un
z
z module, puis sur Ouvrir pour créer un module standard
z
z
z
destiné à la déclaration du tableau
z
z
z
Un module standard apparaît dans la fenêtre Code
z
z
z
3. Dans le module standard, saisir les instructions :
z
z
z
Option Base 1
z
z
z
Public Températures(7) As Variant
z
z ¾ Public permet de rendre le Tableau global et donc
z
z
z
disponible dans tout le programme
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 94


Programmer en VB

z
z
z
4. Entrer le code suivant pour la commande
z
z cmdEntrerTemps_Clik (procédure événementielle
z
z
z
rattachée au bouton "Entrer Températures"
z
z
z
Cls 'efface l'écran
z
z
z
Prompt$ = "Entrer la température la plus haute"
z
z
z
For i% = 1 To 7
z
z
z
Title$ = "Jour" & i%
z
z
z
Températures(i%) = InputBox(Prompt$, Title$)
Next i%
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 95


Programmer en VB

z
z 5. Entrer le code suivant pour la commande
z
z cmdAfficherTemps_Clik (procédure événementielle rattachée au
z
z bouton "Entrer Températures"
z
z
z
Print "Températures les plus élevées de la semaine :"
z
z Print
z
z
z
For i% = 1 To 7
z
z Print "Jour"; i%, Températures(i%)
z
z
z
Total! = Total! + Températures(i%)
z
z Next i%
z
z
z
Print
z
z Print "Températures moyenne: "; Total! / 7
z
z
z
6. Mettre End dans la procédure Quitter

 A. Belaïd Cours VB LSC 2003-2004 96


Programmer en VB

z
z
z g Résultat
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 97


Programmer en VB

z
z
z g Affichage du tableau dans une zone de texte
z
z
z – Déclarer une zone de texte avec la commande TextBox
z
z
z – Soit Text1 le nom de cette zone
z
z
z – Soit Employes le nom du tableau
z
z
z – On écrit :
z
z
z Text1.Text = "" //initialisation à blanc
z
z
z For i% = Tete To Queue
z
z
z Text1.Text = Text1.Text & " " & Employes(i)
z
z
z Next i%
z
z

 A. Belaïd Cours VB LSC 2003-2004 98


Programmer en VB

z
z
z g Quelques remarques
z
z
z – Déclaration de variables publiques
z
z
z • Ouvrir un Module pour le faire
z
z
z – Initialisation de ces variables
z
z
z • Se mettre dans Form1
z
z
z • Cliquer sur le coin en haut à droite
z
z
z • Cliquer sur Initialize
z
z
z
¾ Création d'une subroutine Private Sub Form_Initialize()
z
z dans laquelle on fait l'initialisation
z
z
z

 A. Belaïd Cours VB LSC 2003-2004 99

You might also like