Vous êtes sur la page 1sur 32

Programmation

événementielle en VB
Partie II
A N N É E U N I V E R S I TA I R E : 2 0 2 1 - 2 0 2 2

P R . H AYAT I H I N D
Sommaire
•Les variables

•Les opérateurs

•Les instructions de contrôle

•Entrées /Sorties conversationnelles

•Quelques fonctions prédéfinies


Les variables
C’est quoi une variable?
On définit des variables pour stocker en mémoire des informations dont la valeur varie
(d’où le nom de variable) dans un programme. Une variable est caractérisée par :
- son nom
- sa valeur
- son adresse mémoire (où est stockée sa valeur)
- son type de données
- sa portée
- sa durée de vie
Règles de nommage d’une variable
Le nom d’une variable doit respecter les règles ci-dessous :
• Être constitué de lettres, de chiffres ou du caractère souligné ( _ ).
• 255 caractères au maximum.
• Le premier caractère doit être une lettre ou _.
• Pas de différence entre minuscules et majuscules (les lettres accentuées
sont acceptées).
• Ne pas utiliser de noms réservés à Visual Basic Comme nom de variables
Les types de variables
Le type d’une variable fait référence au genre de données qu’elle peut contenir (date, entier etc.) et à la manière
dont les données sont stockées. Il détermine notamment la taille que la variable va utiliser en mémoire (8 octets
pour une date, 4 octets pour un entier etc.), les valeurs autorisées pour cette variable et donc les opérations
possibles sur celle-ci. C’est pour cela qu’il est si important de toujours typer vos variables.

Integer Nombres entiers compris entre –32 768 et 32 767


Long Nombres entiers compris entre –2 147 483 648 et 2 147 483 647
Single Nombres réels avec sept chiffres après la virgule
Double Nombres réels avec quinze chiffres après la virgule Principaux types de
variables
Currency Nombres réels comprenant quinze chiffres avant la virgule et quatre
après
String Chaînes de caractères dont la longueur ne peut excéder 231
caractères
Autres types de variables
Booléen : une variable qui ne peut prendre que deux valeurs (True, False) ;
Variant : Comme son nom l’indique, une variable de type Variant peut être de différents types, selon le
type de la valeur affectée à la variable variant. Sa taille évolue selon le type correspondant à la variable.
Exemple
Dim X as Variant
X= 10 ‘Intégrer
X= ‘’ ABC ‘’ ‘String
X= ‘’ 4 ‘’ ‘String
X= X -2 ‘Integer
X= ‘’ Résultat : ‘’ & X ‘ String
Portée des variables
- Une variable est dite locale à une fonction ou à une procédure si elle est déclarée dans la fonction ou la
procédure avec dim ou static. Cette Variable n’est pas connue en dehors de la procédure ou fonction.

- Une variable peut être connue de toutes les procédures ou fonctions d’une feuille si elle est déclarée
dans la feuille avec l’instruction Private.

- Une variable est dite globale à toutes les feuilles et modules de l’application si elle est déclarée dans la
section de déclaration d’un module avec l’instruction Public.
Déclaration de variables
Dim NomVariable As Type
Par défaut, la déclaration de variables est obligatoire
Possibilité de déclaration sans préciser le type

Exemple :
Dim NomVille As String
Dim Nom, Prenom As String
Dim Age As Integer
Dim Numero = 9  Dim Numero As Integer = 9
Déclaration avec portée de variable
- Procédure ou Fonction
- Dim/static Nom_ de_ la_Variable As Type
- Static Age as Integer
- Dim Total As Integer
- Niveau de la feuille :
- Private Nom_ de_ la_Variable As Type
- Private nom As String
- Private Date_Naissance as Date.
- Niveau projet:
- Public Nom_ de_ la_Variable As Type
- Public Note As double
Déclaration de constante
Constante : Nom qui remplace une variable immuable

La déclaration d’une constante se fait à l’aide de l’instruction Const dans une feuille
ou
à l’aide de l’instruction Public Const pour que sa portée soit globale à l’application
Const Base_Données = ‘’Gestion Employés’’
Public Const Pi = 3.14159265359

Remarque: Ajouter le mot clé Public pour la rendre publique


Commentaire

Il est souvent utile d’insérer des commentaires dans un programme pour faciliter
sa maintenance et son évolution.
Utiliser indifféremment le mot clé REM ou le signe ‘
Exemple : ( Les deux expressions suivantes sont équivalentes)
‘ceci est un commentaire
REM Ceci est un commentaire
Les Tableaux
Dim NomTableau ( dim1, dim2…) As DataType

◦ NomTableau: Nom du tableau

◦ Dimi : Limite supérieure de la ième dimension ( l’indexation commence à partir de 0)

◦ DataType : Type de données incluses dans le tableau

Exemple

Dim Employes (9) As String 'Tableau de 10 chaînes de caractères


Dim T(0 to 19) As Integer 'Tableau de 20 entiers
Dim M1(4,3) As Integer 'Matrice de 5 lignes et 3 colonnes

12
Référencer les éléments d’un tableau
Employes (5)  l’élément d'indice 5 dans le tableau
M1 (0,2)  la cellule à la 1ère ligne et 3nd colonne de la matrice M1
Initialisation des tableaux
 Initialisation d’un tableau
Dim Employes () As String = {"Tahri ", "Kitou", "Jabri"}
(Remarque : La taille 3 du tableau est déduite)
 Fonctions Ubound et Lbound
Ubound : retourne la limite supérieure
Lbound : retourne la limite inférieure ( = 0 )
Exemple:
A = Ubound (NomTableau)
Les tableaux dynamiques
La taille du tableau est définie au moment de l’exécution avec Redim
Exemple:

Dim Temperature () As Single


Dim Jours As Short
Jours = InputBox ("Combien de jours? ")
Redim Temperature (Jours-1)
Remarque: Le redimensionnement du tableau  la perte des données existantes.
Contournable avec l’utilisation de Preserve
ReDim Preserve NomTableau(Ubound(NomTableau) + 1)
Les opérateurs (1/3)
Opérateurs de base

+ Addition \ Division entière


- Soustraction Mod Reste de division entière
* Multiplication ^ Elévation à la puissance
/ Division & Concaténation de chaînes

Opérateur de négation unaire : (-)


Opérateurs abrégés
X += 6  X=X+6
Valable aussi pour les autres opérateurs :
-= *= /= \= ^= &=
16
Les opérateurs (2/3)
Opérateurs relationnels

= Egal à > Supérieur à


<> Différent de <= Inférieur ou égal à
< Inférieur à >= Supérieur ou égal à

Opérateurs logiques

And et Or Ou inclusif
Not Négation Xor Ou exclusif

Opérateur d’affectation
NomFamille = "Jabri"
17
Les opérateurs (3/3)
Ordre des priorités
Op mathématiques  Op de comparaison  Op logiques
()  ^  - (négation)  * /  \  Mod  + -
Exemple
Total= 10+15*2/4^2
= 10+15*2/16
= 10+30/16
=10+1,875
= 11,875

18
Exercice
Réaliser l’interface suivante et les différents Opération demandées
Créer deux variables Public pour les entiers saisis et une variable locale pour stocker le résultat
de chaque opération

Afficher le résultat obtenu dans un


MessageBox
Les instructions de contrôle (1/5)
Structure de sélection If..Then
If Condition1 Then Dim moyenne As Short
Liste d’instructions Dim appreciation As String

[ElseIf Condition2 Then If moyenne <10 Then


Liste d’instructions appreciatioon= "Echec"
.
. ElseIf moyenne<=15 Then
[Else appreciation= "Moyen"
Liste d’instructions] Else
EndIf appreciation="Excellent"
EndIf

L’ordre des expressions conditionnelles est primordial , VB s’arrête à la première Expression


!
Conditionnelle vérifiée (True)

20
Les instructions de contrôle (2/5)
Structure de décision Select..Case

Select Case Variable Dim Age As Integer

Case Valeur1 Select Case Age


instructions Case 18
.
Label1.text = "conduire"
.
Case 23
Case ValeurN
Label1.Text = "travailler"
instructions
Case 60
Case Else
Label1.Text="retraite "
instructions
End Select
End Select

Possibilité de traiter plusieurs valeurs dans une condition Case séparées par des virgules
Si une valeur correspond à la valeurs, les instructions correspondantes sont exécutées, VB passe à la
ligne qui suit End Select

21
Les instructions de contrôle (3/5)
Structure de décision Select.. Case
traitement de valeurs d'un intervalle :en utilisant l'un des mots clé: "Is" ou "To"
Exemple:
Select Case Age
Case Is <13
Label1.Text = "Profitez de votre enfance "
Case 13 To 19
Label1.Text = "Profitez de votre adolescence "
Case Else
Lable1.Text = "Quel bel âge "
End select

22
Les instructions de contrôle (4/5)
Boucles For..Next
For Variable = debut To fin [ Step n ] Dim i As Integer
Instructions For i=5 To 4
Next [Variable] Beep()
Next i

Possibilité d’employer des compteurs décimaux For i = 1 To 2,5 step 0,5


Arrêter prématurément l’exécution de la boucle : Exit For
For i=1 To 10
Nom = InputBox (" Votre nom ou Fin pour quitter")
if Nom = "Fin" Exit For
Else Label1.Text=Nom
Next i

23
Les instructions de contrôle (5/5)
Boucles Do
Do While condition Dim Nom As String
instructions Do While Nom <> "Fin"
Loop Nom = InputBox ("saisir texte ou taper Fin")
__________________ If Nom<> "Fin" Then Label1.Text=Nom
Do Loop
instructions
Loop While condition

Do…LoopWhile : instructions exécutées au moins une fois


Possibilité d’utiliser une condition d’arrêt : Until

Do Until condition _Arrêt Do


instructions instructions
Loop Loop Until condition _Arrêt

24
Entrées/Sorties Conversationnelles (1/5)
Fonction InputBox

Affiche une boîte de saisie pour enter une donnée.

variable = InputBox (Prompt, Titre, defautText, x-position, y-position)


◦ variable : contiendra la chaîne saisie
◦ Prompt :Message affiché dans la boîte
◦ Titre : Titre de la boîte de saisie (facultatif)
◦ DefautText : Texte par défaut de la zone de saisie (facultatif)
◦ X-position, y-position: position dans la feuille (facultatif)

25
Entrées/Sorties Conversationnelles (2/5)
Fonction MsgBox

• Afficher un message à l’utilisateur: MsgBox (Message, ,Titre)

• Lui poser une question et la réponse correspond à un clic sur l'un des boutons affichés dans la boîte de
dialogue:

Variable = MsgBox (Message ,Type, Titre)


◦ Variable : variable de type Integer recevant la valeur du bouton cliqué dans la boîte
◦ Message : Message à afficher dans la boîte de dialogue
◦ Type : Expression numérique qui contrôle les boutons et les icônes à afficher
◦ Titre : Titre affiché de la boîte de dialogue

26
Entrées/Sorties Conversationnelles (3/5)
L'argument : Type
Les constantes pour les boutons

Valeur Constante Boutons affichés


0 vbOkOnly Bouton Ok seulement
1 vbOkCancel Bouton Ok et Annuler
2 vbAbortRetryIgnore Abandonner, réessayer et ignorer.
3 vbYesNoCancel Oui , Non, Annuler
4 vbYesNo Oui et Non
5 vbRetryCancel Répéter et Annuler

27
Entrées/Sorties Conversationnelles (4/5)
L'argument : Type
Les constantes pour les icônes

16 vbCritical
32 vbQuestion
48 vbExclamation
64 vbInformation

MsgBox ("Erreur fatale, division par 0", vbCritical, "Erreur")

28
Entrées/Sorties Conversationnelles (5/5)
La valeur de retour de MsgBox
Constante Valeur Bouton cliqué
vbOk 1 OK
vbCancel 2 Annuler
vbAbort 3 Abandonner
vbRetry 4 Réessayer
vbIgnore 5 Ignorer
vbYes 6 Oui
vbNo 7 Non

Rep = MsgBox("Voulez-vous vraiment quitter l'application", vbYesNo +


vbQuestion + vbDefaultButton2, "Confirmation")
If Rep= vbYes Then End Bouton par
défaut

29
Atelier N°4:
Authentification avec plusieurs valeurs
Créer une fenêtre d’authentification qui demande le login et le mot de passe de
l’utilisateur et qui permet la connexion.
L’interface utilisera une boîte de dialogue qui recevra le nom
d’utilisateur à comparer avec une liste (tableau de chaîne de
caractères) prédéfinie et rendra la réponse dans une boîte de
dialogue. (MsgBox)
Dim Tab1(,) As String = {{"admin", "admin"}, {"hind", "hind"}, {"user",
"123"}}

Vous aimerez peut-être aussi