Cours
Visual Basic pour Applications
Ecole Supérieure de Technologie – Guelmim
Université Ibn Zohr –Agadir-
Prof. ASIMI Younes
[email protected]
2020/2021
Contenu de cours
Visual Basic en général
La terminologie autour de Visual Basic peut mener à une
certaine ambiguïté:
VBA = Visual Basic pour Application;
Disponible avec MS Office (Excel, Access, Word);
VB = Visual Basic
Langage de programmation contenu dans MS Office
mais également intégré dans Visual Studio pour faire
des applications indépendantes.
Avantages:
Simplicité;
Disponible dans MS Office;
Accès à toutes les fonctions de Windows (Macro, API);
21/02/2021 Prof. ASIMI Younes 2
Contenu de cours
Visual Basic en général
Inconvénients:
Pas très rapide;
Dépend beaucoup des versions utilisées de Windows et
MS Office;
Cher si on veut être en règle.
21/02/2021 Prof. ASIMI Younes 3
Contenu de cours
Visual Basic en général
Application console:
Créez un nouveau projet (CTRL + N) et cliquez sur
Application console.
Module Module1
Sub Main()
Bloc d’instructions
End Sub
End Module
Il s’agit effectivement d’un code minimal que l'IDE (Visual
Studio) génère lorsque l'on crée un projet de type console.
21/02/2021 Prof. ASIMI Younes 4
Contenu de cours
Premiers pas
Une balise de début :
Module Module1 et Sub Main(),
Une balise de fin :
End Sub et End Module .
Module1 est le nom du module, que vous pouvez
le modifier. Il nous sera réellement pratique
lorsque nous utiliserons plusieurs feuilles.
21/02/2021 Prof. ASIMI Younes 5
Contenu de cours
Premières lignes
Une ligne corresponds à une instruction qui doit être
placée à l’intérieur de la méthode principale Main(), plus
précisément, entre Sub Main() et End Sub.
Fonction Write:
Module Module1
Sub Main()
Console.Write("Hello World !")
End Sub
End Module
Résultat : la console s'est ouverte, a affiché le message et s'est
fermée immédiatement …
21/02/2021 Prof. ASIMI Younes 6
Contenu de cours
Premières lignes
La pause: Il s’agit de bloquer l’exécution d’un programme
en attend une entrée. Pour cette action, il suffit d’ajouter la
fonction Readline comme suit:
Fonction Read:
Module Module1
Sub Main()
Console.Writeline("Hello World !")
Console.Readline()
End Sub
End Module
21/02/2021 Prof. ASIMI Younes 7
Contenu de cours
Objets et Méthodes
Objet ou bien un Super-variable : Les données sont les objets
manipulés par les instructions d'un programme. Elles peuvent être
:
Données variables ou Données constantes.
Les variables sont désignées par un nom = Propriétés.
Objet Voiture:
Propriétés: couleur, marque, modèle, carburant,
vitesse Maxi, prix….
Syntaxe : objet propriété
Voiture.couleur = " rouge "
Voiture.marque = "Peugeot "
21/02/2021 Prof. ASIMI Younes 8
Contenu de cours
Objets et Méthodes
Objet Etudiant:
Propriétés: nom, classe, adresse, situation familiale, âge, taille,
budget, situation/justice….
Syntaxe :
Etudiant.âge = 23
Etudiant.Budget = Etudiant.Budget + 100
n = Etudiant.nom
21/02/2021 Prof. ASIMI Younes 9
Contenu de cours
Objets et Méthodes
Une Méthode est une fonction d’un objet ;
• Exemple : Voiture
Accélérer, ralentir, avancer, reculer, s’arrêter….
Syntaxe : objet Méthode()
Voiture.accélérer()
Voiture.reculer(10 m)
Voiture.changerCouleur(bleu)= bleu
21/02/2021 Prof. ASIMI Younes 10
Contenu de cours
Objets et Méthodes
Exemple 2 : Méthode de l’objet : Etudiant
• Réussir, Redoubler, Tricher, s’absenter, préparerExamen,
AugmenterBudget….
Syntaxe : objet Méthode()
Etudiant.Réussir()
Etudiant.Absenter(2)
Etudiant.Valider()
…..
21/02/2021 Prof. ASIMI Younes 11
Contenu de cours
Objets et Méthodes
• VB considère la console comme un objet. Cet objet
possède des fonctions et d'autres objets
21/02/2021 Prof. ASIMI Younes 12
Contenu de cours
Objets et Méthodes
Une fonction
C’est une série des instructions écrites dans un langage de
programmation donné afin de répondre à un besoin précis,
d'effectuer des traitements et d’obtenir un effet bien défini.
Write(): afficher du texte dans le console;
Read(): attendre une entrée;
Main(): appelée lors du démarrage du programme.
21/02/2021 Prof. ASIMI Younes 13
Contenu de cours
Identificateurs
Identificateurs
Ils servent à manipuler les objets du langage par son nom. Cette
déclaration réserve un espace mémoire capable de contenir des
données ou des instructions manipulant des données:
identificateurs de variables/de fonctions.
un nom de variable ne doit pas commencer par un chiffre;
un identificateur est une suite d’au plus 40 caractères commençant par
une lettre.
Il convient de n’utiliser ni de caractère accentué ni de caractère
spéciaux (espace, #, ?, etc).
Si l’identificateur est constitué de plusieurs mots, ces derniers
commencent par une Majuscule.
21/02/2021 Prof. ASIMI Younes 14
Contenu de cours
Variables
Déclarations des variables
Une variable est composée d’un nom de la variable, appelé
identificateur, suivi de son type de la manière suivante :
Dim IdentificateurDeLaVariable As TypeDeLaVariable
Code VB Dim MaVariable As Integer
Type entier
Français Crée une Identificateur en tant que
variable d’une Variable
Par exemple, on peut avoir :
Dim VariableEntier As Integer
Dim UnReel As Double
Dim AutreEntier As Integer, AutreReel As Double
Dim NomPrenom As String
21/02/2021 Prof. ASIMI Younes 15
Contenu de cours
Constantes
Une constante est une forme de variable dont l’affectation
ne peut se faire qu’à la déclaration et qui ne varie pas. En VB, on
déclare les constantes comme suit :
Const IdentificateurDeVariable As TypeDeVariable = Valeur
Par exemple, on peut avoir :
Const Chain As String ="Je suis Asimi "
Const Pi As Double = 3.14
21/02/2021 Prof. ASIMI Younes 16
Contenu de cours
Variables
En Visual Basic, il existe environ de12 types de
variables. Les plus utilisées:
String: pour stocker des chaînes de caractères;
Integer: pour stocker des valeurs entières;
Double :pour stocker des valeurs décimales;
Long :pour stocker des grandes valeurs entières;
Boolean: pour stocker soit un 0 soit un 1 (un bit);
21/02/2021 Prof. ASIMI Younes 17
Contenu de cours
Variables
Types
Boolean : True – False
Byte : 0 à 255
Integer : -32 768 à 32 767
Long : -2 à 2 milliards
Single : réels avec 6 chiffres décimaux (x=10/3;
3,333333)
Double : réels avec 14 chiffres décimaux
String : chaînes de caractères
Date : Date et heure
Variant : entier, réel, chaîne, booléen, …
Objet : objets VB (Contrôles, feuilles,..)
21/02/2021 Prof. ASIMI Younes 18
Contenu de cours
Types de données incorporés par VB.NET
Entiers
21/02/2021 Prof. ASIMI Younes 19
Contenu de cours
Types de données incorporés par VB.NET
Nombres à virgule flottante
21/02/2021 Prof. ASIMI Younes 20
Contenu de cours
Variables
En VB, il n’est pas obligatoire de déclarer les variables, mais,
il vivement conseillé:
Les variables sont très importantes en général;
Ne jamais hésiter à déclarer une nouvelle variable;
Autre syntaxe possible:
Public Sub prog_qui_fait_rien()
Dim age As Integer, nom As String
Dim nom As String
Dim revenu As Long
End Sub
21/02/2021 Prof. ASIMI Younes 21
Contenu de cours
Variables
Nombreux opérateurs: + * / - & Mod ^
Public Sub mon_prog ()
Dim a As Integer, b As Integer, c As Integer, d As Integer
a=5
b=7
c=a+b
d = a^b
End Sub
21/02/2021 Prof. ASIMI Younes 22
Contenu de cours
Variables
Cherchant la valeur de la variable d dans les deux
cas:
Public Sub mon_prog ()
Dim a As Integer, b As Integer, d As
Integer
a=9
b=2 Public Sub mon_prog ()
d=a/b Dim a As Integer, b As Integer, d As
End Sub Double
a=9
b=2
d vaudra 4 d=a/b d vaudra 4.5
End Sub
21/02/2021 Prof. ASIMI Younes 23
Contenu de cours
Variables
Opérateurs Mod (reste de la division entière) et &
(concaténation et séparation )
Exemples avec Mod:
34 Mod 12 = 10 car 2 x 12 + 10 = 34
5 Mod 2 = 1 car 2 x 2 + 1 = 5
Exemples avec &:
"Jean" & "Von Duren" = "Jean Von Duren"
21/02/2021 Prof. ASIMI Younes 24
Contenu de cours
Opérateurs arithmétiques
21/02/2021 Prof. ASIMI Younes 25
Contenu de cours
Opérateurs de comparaison
Opérateur Signification Exemple
< Inférieur 5<12
<= Inférieur ou égale 5<=12
> Supérieur 5>12
>= Supérieur ou égale 5>=12
= Egal 5=12
<> Différent 5<>12
21/02/2021 Prof. ASIMI Younes 26
Contenu de cours
Opérateurs logiques
Opérateur Signification Exemple Résultat est vrai si
Not Négation Not(exp) L’expression (exp) est
fausse
And Et logique (exp1) And (exp2)
Les deux conditions
Or Ou logique (exp1) Or (exp2) sont vraies
Xor Ou exclusif (exp1) Xor (exp2) Une expression au
moins est vraie
Une seule expression
est vraie mais pas les
deux
21/02/2021 Prof. ASIMI Younes 27
Contenu de cours
Programme
Voyons comment créer un programme:
Lancer l’environnement de développement VB;
Fichier Nouveau projet Application console
Taper votre programme;
Générer (phase de compilation);
Déboguer démarrer (F5).
21/02/2021 Prof. ASIMI Younes 28
Contenu de cours
Programme
Module Module1
Sub Main()
Dim MaVariable As Integer
MaVariable = 12
Console.WriteLine(MaVariable)
Console.Readline()
End Sub
End Module
21/02/2021 Prof. ASIMI Younes 29
Contenu de cours
Programme
21/02/2021 Prof. ASIMI Younes 30
Contenu de cours
Programme
21/02/2021 Prof. ASIMI Younes 31
Contenu de cours
Programme
Le modulo permet de retourner le reste d'une division entière.
Les commentaires sont des lignes de code non exécutées,
uniquement destinées au programmeur, elles sont précédées par
une apostrophe : « ' ».
L'instruction Console.Writeline permet d'afficher un message
à la console.
21/02/2021 Prof. ASIMI Younes 32
Contenu de cours
Programme
• Ecrire un programme qui calcule la somme 1+2+3…n
avec n un entier à saisir au clavier.
21/02/2021 Prof. ASIMI Younes 33
Contenu de cours
Structures conditionnelles
La structure conditionnelle If exécute un bloc d’instructions selon
un choix conditionnelle. Ainsi, un bloc d’instructions sera exécuté si
sa propre condition est vraie, sinon, on teste la condition suivant
jusqu’à avoir une condition vraie:
If …then … else … end if
If conditions then
[instructions à exécuter quand la condition est vraie]
Else
[instructions à exécuter quand la condition est fausse]
End if
21/02/2021 Prof. ASIMI Younes 34
Contenu de cours
Programme
21/02/2021 Prof. ASIMI Younes 35
Contenu de cours
Structures conditionnelles
If …then … else if … else … end if
If conditions then
[bloc des instructions à exécuter ]
Else if conditions then
[bloc des instructions à exécuter ]
Else if conditions then
[bloc des instructions à exécuter ]
…
Else
[bloc des instructions à exécuter ]
End if
21/02/2021 Prof. ASIMI Younes 36
Contenu de cours
Structures conditionnelles
Ecrire un programme qui résoudre l’équation suivante
: ax+b=0
Ecrire un programme qui lit une note saisie au clavier
d’un étudiant donné et affiche sa mention:
Note >=16 très bien
Note >=14 bien
Note >=12 assez bien
Note >=10 passable
Note <10 mauvais résultat
21/02/2021 Prof. ASIMI Younes 37
Contenu de cours
Structures conditionnelles
21/02/2021 Prof. ASIMI Younes 38
Contenu de cours
Structures conditionnelles
Écrire un programme qui calcul le plus grand (MAX) parmi trois
entiers (A,B,C) saisis au clavier.
21/02/2021 Prof. ASIMI Younes 39
Contenu de cours
Structures conditionnelles
Structure select case
Elle crée une structure décisionnelle permettant d’exécuter un
grand nombre de blocs de code différents en fonction:
1. De la valeur d’une expression; Select case expression
2. D’une condition; case valeur1
[instructions à exécuter ]
3. D’une intervalle des valeurs; case Is condition
[instructions à exécuter ]
case valeur3 To Valeur4
[instructions à exécuter ]
case Else
[instructions par défaut ]
End select
21/02/2021 Prof. ASIMI Younes 40
Contenu de cours
Structures conditionnelles
Ecrire un programme qui lit une valeur saisie au
clavier et affiche le jour correspondant à cette valeur.
21/02/2021 Prof. ASIMI Younes 41
21/02/2021 ASIMI Younes 42
Contenu de cours
Structures conditionnelles
Ecrire un programme qui gère le vente d’un produit
à base de la quantité demandée:
Si la quantité est inférieure à 50:
PrixUnitaire= 10 DH
TVA=5/100
Si la quantité est entre 50 et 100:
PrixUnitaire= 8 DH
TVA=4/100
Si la quantité est supérieure à 100:
PrixUnitaire= 6DH
TVA=3/100
Faire cet exercice en utilisant la structure conditionnelle
Select case
21/02/2021 Prof. ASIMI Younes 43
Exercice
21/02/2021 Prof. ASIMI Younes 44
Contenu de cours
Fonctions Numériques
Fonction Description Type résultat exemple
numérique a=Abs(-3,4) 3,4
Abs(x) Valeur absolue numérique
entier a=Sqrt(25) 5
Sqrt(x) Racine carrée
entier a=Fix(4,12) 4
Fix(x) Partie entière a=Fix(-4,21)-4
entier a=Int(4,12) 4
Int(x) Plus grand entier a=Int(-4,21)-5
réel a=Sgn(3) 1
inférieur strictement à x a=Sgn(0) 0
a=Sgn(-3)-1
Sgn(x) Signe de x x=Rnd ?
Rnd() Nombre aléatoire Є[0, 1[
21/02/2021 Prof. ASIMI Younes 45
Contenu de cours
Boucles
Les boucles (structures répétitives) permettent de répéter
l’exécution d’un bloc d’instructions, soit à un nombre précis de
reprises, soit jusqu’à ce qu’une condition devienne vraie,…;
Plusieurs syntaxes possibles:
For, While, Loop, Do While, Do Until …;
Les plus utilisées:
For et While;
21/02/2021 Prof. ASIMI Younes 46
Contenu de cours
Boucles
Boucle For…Next
La boucle For…Next permet de répéter des instructions un
nombre précis de fois.
On utilisé cette boucle si, à l’avance , on connait le nombre
d’itérations .
1ère syntaxe:
For compteur=ValeurDepart To valeurFin [Step
valeur Saut]
[instructions]
Next [compteur]
21/02/2021 Prof. ASIMI Younes 47
Contenu de cours
Boucles
Boucle For …Next
Compteur jusqu’à 10000:
Dim a As Integer
For a = 0 To 10000
… Tout ce qui se trouve ici est
répété 10001 fois
Next [a]
21/02/2021 Prof. ASIMI Younes 48
Contenu de cours
Boucles
21/02/2021 Prof. ASIMI Younes 49
Contenu de cours
Boucles
Boucle For Each ...Next
La boucle For Each...Next permet d’accéder aux objets d’une
collection:
2ème Syntaxe:
For Each element In Collection
instructions
Next element
21/02/2021 Prof. ASIMI Younes 50