Cours d'initiation à Visual Basic .Net
![Cours d'initiation à Visual Basic .Net](/images/remos_downloads/id-584.584.pdf_thumb_prev.jpg)
Initiation à la programmation avec VisualBasic
PEIP Polytech'Marseille
Progression :
- Préambule : codage de l'information
- Notion d'algorithme
- Premiers pas en VisualBasic (environnement VBA, Entrées-Sorties simplifiées)
- Constantes, variables, expressions
- Instruction alternative si-alors-sinon
- Instruction répétitive tant-que
- Variables indexées (tableaux)
- Procédures et fonctions
- Préambule
Codage de l'information
Plus petit élément physique constitutif de la mémoire
Deux états possibles : 0 ou 1
Un ensemble de n bits permet de coder 2n informations différentes
Un octet : assemblage de 8 bits è 28 = 256 combinaisons possibles
Coder une information sur n bits : convention de codage pour représenter une "information" parmi 2 informations possibles d'un type donné
Pour un type d'information donné, le nombre d'octets est préalablement fixé par le langage en fct du nombre de valeurs à représenter.
2. Codage d'un nombre entier
Exemple sur 3 bits pour les entiers dans [ 0, 8 [ et dans [-4, 4 [
|
|
la même suite sur 1 octet {1001 1011} représente suivant le cas
-101 pour les entiers relatifs
+155 pour les entiers naturels
'€' pour les caractères alphanumériques (code ASCII)
Sur 2 octets (16 bits), on peut coder tous les entiers dans [-32768, 32767 ]
Sur 4 octets (32 bits), on peut coder les entiers relatifs sur 9 chiffres
3. Codage d'un réel
Deux informations à coder :
la précision (nombre de chiffres) 3.14 3.1415926
l'exposant (virgule « flottante ») 1. x 10-2 1. x 106
Les réels sont souvent codés sur 32 ou 64 bits, dont 6 pour l'exposant (de -32 à +31)
4. Codage d'un caractère alphanumérique
Chaque caractère est associé à un entier dans [0, 256[ (8 bits) : le code ASCII
'a' : 97
'b' : 98
'A' : 65
'0' : 48
'?' : …
I. Notion d'algorithme
1. Qu'est-ce qu'un algorithme
2. Conception d'un algorithme : analyse hiérarchisée
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-356.jpg)
3. Eléments de base pour écrire un algorithme
a) Définition
Suite finie d'instructions non ambiguà«s
dans un langage pseudo-naturel simple
permettant de décrire une méthode pour répondre à un problème en un temps fini
en s'affranchissant des aspects matériels de mise en oeuvre (type de machine, langage de programmation utilisé, …)
L'étape suivante sera de traduire cet algorithme dans un langage de programmation
« compréhensible » et exécutable par une machine pour un jeu de données connues.
b) Un parallèle culinaire
Recette de cuisine Algorithme
Dans le cas d'un programme informatique, les données manipulées peuvent être classées suivant 3 grandes catégories :
- les données numériques (nombres entiers, réels, …)
- les données alphanumériques (lettres, chiffres, caractères spéciaux, …) oles données logiques (vrai, faux)
Premiers points à clairement définir avant de chercher à résoudre un problème :
Quelles sont les données initiales (nature, domaine) ?
Quel est le résultat souhaité ?
a) Définir un premier algorithme très général
ensemble d'actions de haut niveau
à réaliser de manière séquentielle
Quelles sont les données initiales (nature, domaine) ?
Recette des crêpes au nutella : I.  Faire une pâte à crêpe
- Cuire une crêpe dans une poêle
III. taler du nutella sur la crêpe
b) Raffinements successifs : Conception structurée
Recette des crêpes au nutella :
- Faire une pâte à crêpe
- Mettre 250g de farine dans un bol
- Ajouter à litre de lait
- Mélanger
- Ajouter 3 oeufs
- Mélanger
- Cuire une crêpe dans une poêle
Remarques : certaines actions sont soumises à condition.
Exemple Action "Mélanger".
Tant que le mélange n'est pas homogène
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-357.jpg)
tourner la pâte avec une fourchette - Fin tant-que
c) De quoi a t-on besoin ?
Recette de cuisine Algorithme
ingrédients (farine, beurre, …) données
récipients (plat, bol, …) variables
outils (couteaux, …) opérateurs
instructions simples (verser dans, …) affectation, …
instructions conditionnelles si-alors-sinon
instructions répétitives tant-que
3. Eléments de base pour écrire un algorithme
On dispose d'une certaine liberté de langage pour décrire un algorithme. On utilisera toutefois les notions suivantes :
a) Déclaration de variables (contenants)
b) Lecture/écriture (communication d'information)
c) Expressions arithmétiques et logiques
d) Affectation
e) Instruction conditionnelle
f) Répétition d'une action
a) Déclarer une variable
Une variable : zone mémoire désignée par un nom pour stocker une valeur susceptible de changer dans le temps.
Déclarer des variables :
annoncer au début toutes les variables utilisées (contenants) à° en précisant la nature du contenu (entier, réel, caractère, chaà®ne de caractères…) ex : soient a, b, c trois réels
b) Lecture/écriture
pour représenter les échanges homme-machine (du point de vue de la machine)
- lire(variable) homme (clavier) => machine- écrire(variable) homme (écran) <= machine c) Expressions
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-358.jpg)
Elles sont construites à l'aide d'opérateurs à° Expressions arithmétiques avec + , - , x , / , ( ) ex : b2-4ac
Expressions logiques (seront vues plus tard) : résultat en Vrai/Faux
d) Affectation :
Une variable ne peut contenir qu'une seule information à un instant t donné syntaxe : variable <- expression exemple : d <- b2-4ac Remarques :
une variable à droite de <- : désigne le contenu (la valeur)
la variable à gauche de <- : désigne le contenant (o๠l'on met l'information)
On distingue :
l'affectation qui initialise x <- 1
s <- x+1
l'affectation qui modifie s <- s+x
Remarque : lire(variable) est une forme d'initialisation
Dans les prochains chapitres :
e) Instruction conditionnelle
f) Répétition d'une action
II. Premiers pas en Visual Basic
Présentation générale
2. Mon premier programme VBA
3. Les constantes
4. Les Variables
5. Les Expressions arithmétiques
6. Précisions sur le type Variant
1. Présentation générale
Le Basic (Beginner's All-purpose Symbolic Instruction Code) :
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-359.jpg)
- « vieux » langage à l'échelle de l'informatique (1963 ! )
- permet de traduire un algorithme en instructions interprétables par une machine
- facile d'accès pour traiter de petites applications
(mais trop permissif pour développer de grosses applications…)
- a heureusement fortement évolué depuis sa création :o)
- plusieurs variantes ( -> portabilité médiocre ! ! ! )
Visual Basic pour Applications (produit Microsoft) :
- intégré dans différents logiciels (Excel, …)
- largement diffusé
- version modernisée de Basic qui introduit notamment :
- la programmation objet (non abordée dans ce cours)
- la gestion d'Interfaces Homme-Machine (boites de dialogue, boutons, …)
2. Mon premier programme VBA
VBA est disponible dans l'environnement Excel
Lancer Excel (accepter les macros !)
Sous Mac : Outils –> Macro –> VisualBasicEditor - Sous PC : Développeur –> VisualBasic â lance l'environnement VBA
Pour écrire un programme VBA
Insertion –> Module
â  ouvre une fenêtre d'édition exécution
Sub maProcedure() 'ce programme vous dit bonjour Dim var As String var = InputBox("donnez votre nom :") MsgBox "Hello " & var End Sub |
a) L'instruction Sub
permet de déclarer une procédure avec un nom et éventuellement des arguments
toutes les instructions entre Sub et End Sub constituent le corps de la procédure
- règle de rédaction : on indentera le corps de la procédure
Syntaxe simplifiée de l'instruction Sub :
Sub nom([argument])
[déclaration]
Sub maProcedure() 'ce programme vous dit bonjour ![]() Dim var As String var = InputBox("donnez votre nom :") MsgBox "Hello " & var End Sub |
[instruction]
End Sub
b) Identificateurs
Ce sont les noms que l'on va donner aux variables et aux procédures.
- Exemples dans le programme précédent : maProcedure : nom de la procédure var : nom d'une variable
- Syntaxe : lettre[lettre ou chiffre]
- Exemple : x x1 compteur Peip1
- Remarques :
les majuscules sont distinctives des minuscules
les mots réservés de VBA commencent par une majuscule
on choisira des identificateurs mnémoniques
c) Les entrées/sorties « simplifiées »
Lecture d'une donnée au clavier
(homme => machine)
variable = InputBox("donnez votre nom")
Affichage d'un message à l'écran (machine => homme) MsgBox message o๠message est soit :
une chaà®ne de caractère (ex: "Hello " )
une variable
une expression arithmétique
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-365.jpg)
Plusieurs messages peuvent être concaténés en un seul avec l'opérateur &
Exemple : MsgBox "le double de 5 est " & 2*5
3. Les constantes
Ce sont les valeurs explicites nécessaires au programme.
On distingue :
- les constantes numériques : 0 1 3.14 314.E-2
- les messages (ou chaà®nes de caractères) : "Bonjour" "Donnez votre nom ?"
4. Les Variables
On en déclare autant que nécessaire pour l'algorithme
a) Caractéristiques d'une variable
- porte un nom (identificateur)
- désigne un emplacement mémoire spécifique
- permet le stockage de valeurs pendant le déroulement du programme
- son contenu peut changer dans le temps
- plusieurs types possibles (entier, réel, chaà®ne de caractères, …)
b) Déclarer une variable
- Réserve un emplacement mémoire en attribuant un nom - Définit le codage de l'information (un entier n'est pas codé comme un réel) - Non obligatoire sous VBA (déclaration implicite à la première occurrence)… - mais fortement conseillé !!!
Il y a une douzaine de types pour déclarer des variables en VBA. Les plus courants :
Integer pour stocker des valeurs entières entre [-32768, 32767]
Long pour stocker des valeurs entières jusqu'à 10 chiffres
Single pour stocker des valeurs décimales à 7 chiffres significatifs
Double pour stocker des valeurs décimales à 15 chiffres significatifs
String pour stocker des chaà®nes de caractères (message)
Variant pour stocker indifféremment des réels, des entiers, des chaà®nes, … Syntaxe de déclaration de variables :
Dim variable As type[, variable As type]
![](/images/remos_downloads/detail/5/COURSVBNETLASSERRE.584.pdf-366.jpg)
Exemples :
Dim nom As String, prenom As String
Dim age As Integer, salaire As Single
Conseils de bon programmeur :
N'économisez pas sur le nombre de variables
Chaque variable doit avoir un rà´le bien défini et ne doit pas en changer - Précisez ce rà´le en commentaire pour les plus importantes
Distinguez :
les variables recevant les données initiales
les variables nécessaires aux résultats intermédiaires
les variables qui recevront les résultats
Donnez des noms qui "parlent" (identificateurs mnémoniques)
- c) Affectation d'une variable - Syntaxe : variable = expression - Exécution de l'affectation :
- évaluation de l'expression
- recopie de la valeur dans la variable
- en « écrasant » l'ancienne valeur contenue dans cette variable
- Rappel :
l'affectation qui initialise x = 1
s = x+1
l'affectation qui modifie s = s+x (ce n'est pas une équation mathématique !!!)
Remarque : une variable doit toujours être initialisée avant sa première utilisation
5. Expressions arithmétiques
- Opérateurs arithmétiques :
^ Mod \(division entière)- Les opérateurs arithmétiques respectent les priorités admises en mathématiques
Remarque : attention aux types des variables (arrondi lors de l'affectation à un entier)
Sub test1() Dim a As Integer Dim b As Single a = 7 ![]() b = a/3 b vaut 2.333333 MsgBox "b = " & b End Sub |
Sub test2()
Dim a As Integer Dim b As Integer a = 7
b = a/3 b vaut 2 MsgBox "b = " & b
b = a/2 b vaut 4 (-4 si a =-7)
MsgBox "b = " & b
End Sub
6. Précisions sur le type Variant
- Peut contenir indifféremment des nombres, des booléens, des chaà®nes ou des tableaux - Assure une conversion automatique - Accepte les opérations sur ces différents types
- Permet de construire un message de données hétérogènes pour affichage
Sub appliquerTVA()
'calcul du prix TTC Dim prix As Variant prix = InputBox("donnez le prix HT :") prix = prix*1.2 '
Opération arithmétique prix = prix & "€ TTC" 'Concaténation de messages
MsgBox prix
End Sub
Conseil : limitez son utilisation au strict nécessaire