The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by houda.ezzarzouri, 2022-04-16 10:27:50

Cours VBA 2021 S1 (1)

Cours VBA 2021 S1 (1)

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


Click to View FlipBook Version