0% ont trouvé ce document utile (0 vote)
94 vues27 pages

1 AlgoProg 1

Ce document présente le langage de programmation Visual Basic pour Applications (VBA). Il introduit les concepts de base de la programmation tels que les algorithmes, les variables, les types de données, les structures de contrôle et les boucles.

Transféré par

Nogning ta kam zidane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
94 vues27 pages

1 AlgoProg 1

Ce document présente le langage de programmation Visual Basic pour Applications (VBA). Il introduit les concepts de base de la programmation tels que les algorithmes, les variables, les types de données, les structures de contrôle et les boucles.

Transféré par

Nogning ta kam zidane
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Programmation en VBA

Présentation de Visual Basic

 Visual Basic :

 Basic : dérivé du langage Basic (Biginner’s All purpose Symbolic


Instruction Code) des années 60

 Visual : dessin et aperçu de l’interface avant l’exécution

2 MAGEFI - Université de Bordeaux


Introduction

 Apprendre à programmer

 Apprendre un langage de programmation

  écrire un algorithme avant d’écrire le programme


correspondant

3 MAGEFI - Université de Bordeaux


Introduction

 Définitions :

 Un algorithme est la description de la suite des opérations


élémentaires ordonnées capables de résoudre le problème
posé.

 Un programme est la traduction d’un algorithme en un langage


compréhensible par l’ordinateur.

4 MAGEFI - Université de Bordeaux


Exemple

 Un commerçant veut calculer les montants de ses


factures.

 Comment décrire de manière la plus élémentaire


possible, la suite d’instructions à exécuter pour résoudre
le problème.

5 MAGEFI - Université de Bordeaux


Exemple

 Question 1 : Quelles sont les variables que nous devrons


manipuler ?
 Les prix des produits;
 les quantités des produits;
 les montants des différentes lignes;
 le total des montants.

6 MAGEFI - Université de Bordeaux


Exemple

 Question 2 : Comment manipuler ces variables pour


résoudre le problème ?
 Les montants sont calculés en multipliant les prix unitaires par
les quantités.
 Le total hors taxe est calculé en effectuant la somme des
montants.

7 MAGEFI - Université de Bordeaux


Notion de variable
 En programmation, une variable est un nom qui sert à
repérer un emplacement donné de la mémoire
centrale.
 Les variables permettent de manipuler les valeurs
sans avoir à se préoccuper de l’emplacement qu’elles
occupent effectivement en mémoire.
 Choix des noms des variables : doit être le plus
parlant possible.
 Exemple : PrixUnitaire, Quantite,Montant, c’est mieux
que d ’écrire x,y,z.

8 MAGEFI - Université de Bordeaux


Programmation
Introduction

 Un programme VBA s’écrit à l’intérieur de l’instruction


Sub NomProgramme()

End Sub
 Les instructions à exécuter devront alors être incluses
dans le bloc sub … end sub

10 MAGEFI - Université de Bordeaux


Introduction

 Dans l’éditeur de programmes, on peut saisir le code de


plusieurs programmes, chacun dans un bloc sub … end
sub.
 Si on veut exécuter un des programmes, on place le
curseur à l’intérieur du bloc et on clique sur exécuter.

11 MAGEFI - Université de Bordeaux


Variables et constantes

 Une variable = {identificateur, type, valeur}

 Identificateur : nom par lequel la variable est manipulée dans le


programme
 Type : type des valeurs possibles que la variable peut contenir
 Valeur : valeur stockée dans la variable

12 MAGEFI - Université de Bordeaux


Identificateur d’une variable

 Elle doit commencer par un caractère alphabétique et ne


pas comporter les caractères suivants : . % ,+ - * ! # @ $

 Elle ne peut pas excéder 255 caractères.

 Pour faciliter la lisibilité des programmes, on s'efforcera


d'utiliser des minuscules pour les variables utilisées par le
programme.

13 MAGEFI - Université de Bordeaux


Déclaration des variables

 Par défaut, il n'est pas nécessaire de déclarer les variables


utilisées. On peut donc utiliser n'importe quelle variable
sans se préoccuper de sa déclaration préalable
 Les variables sont alors de type Variant
  pas d’optimisation
  déclarer explicitement les variables
 Syntaxe Dim identificateur As Type

14 MAGEFI - Université de Bordeaux


Les types de données

 VBA autorise la création de la plupart des types de données


classiques :
 Integer : entier court ;
 Long : entier long ;
 Single : réel simple ;
 Double : réel en double précision ;
 Currency : nombre monétaire ;
 Date : date et heure;
 String : chaîne de caractères ;
 Boolean : booléen (True ou False) ;
 Object : référence quelconque à un objet ;
 Variant : type particulier pouvant être n'importe quel autre type.
 Outre ces types élémentaires, il est également possible de
créer des tableaux et des types personnalisés (voir plus loin).

15 MAGEFI - Université de Bordeaux


Conversion de types

 Il est parfois nécessaire d'opérer des conversions de


types.
 VBA permet d'effectuer ces opérations grâce à une
série d'instructions, dont voici quelques exemples :
 CInt : conversion en type de données entier ;
 CStr : conversion en type de données string ;
 CBdl : conversion en type de données double ;
 CDate : conversion en type de données date ;
 CVar : conversion en type de données variant.

16 MAGEFI - Université de Bordeaux


Structures de contrôle
Structures conditionnelles
 If … Then …Else … ElseIf
 permet d'écrire une structure conditionnelle
 syntaxe :
If <condition> then
<instructions>
Else
<instructions>
End If
 Dans le cas où il est nécessaire d'imbriquer plusieurs structures conditionnelles,
on peut utiliser l'instruction ElseIf :
If <condition> Then
<instructions>
ElseIf <condition> Then
<instructions>
End If

18 MAGEFI - Université de Bordeaux


Structures conditionnelles (2)
 Select…case
 Permet d'écrire une structure conditionnelle dans laquelle une expression doit
être comparée à plusieurs valeurs.
 La syntaxe est la suivante :
Select Case <variable>
Case valeur1:
<instructions>
Case valeur2:
<instructions>
...
Case Else:
<instructions>
End Select
 Lorsque la variable est égale à une valeur répertoriée, les instructions
correspondantes sont exécutées, et l'instruction Select Case se termine. La
ligne Case Else permet d'inclure toutes les occurrences de la variable non
répertoriées auparavant. Elle est facultative.

19 MAGEFI - Université de Bordeaux


Boucles

 While Wend
 permet de réaliser une boucle conditionnelle.
 La syntaxe est la suivante :
While <condition>
<instructions>
Wend
 La condition est évaluée au début du traitement. Si elle est
vraie, les instructions sont exécutées. Ensuite la condition est
réévaluée, et ainsi de suite.

20 MAGEFI - Université de Bordeaux


Boucles (2)

 Do Until Loop
 similaire à Do While Loop. Cependant, les instructions contenues
dans le corps de l'instruction sont d'abord exécutées, à la suite
de quoi la condition est évaluée.

 La syntaxe est donc la suivante :


Do
<instructions>
Loop Until <condition>

21 MAGEFI - Université de Bordeaux


Boucles (3)

 For Step Next


 utilisée pour répéter une action selon un nombre d'itérations
déterminé.
 La syntaxe est la suivante :
For <variable> = valeur1 To valeur2 Step <pas>
<instructions>
Next <variable>
 Step sert à indiquer le pas d'itération. Cette précision est
toutefois facultative : par défaut, la valeur du pas utilisé est 1.

22 MAGEFI - Université de Bordeaux


Boucles (4)

 For Each In Next


 est une variante de l'instruction For Step Next.
 permet de réaliser une itération en parcourant tous les objets
contenus dans une collection.
 La syntaxe est la suivante :
For Each <objet> In <collection>
<instructions>
Next <object>

23 MAGEFI - Université de Bordeaux


Boucles (5)
 Exemple :
 Le code suivant permet de renommer toutes les feuilles de
calcul du classeur actif :
Dim i As Integer
Dim feuille As WorkSheet
...
i=0
For Each feuille In [Link]
i=i+1
'Cstr (i) permet de convertir l'entier i en une chaîne de caractères
[Link] = "Compte rendu Client n°" + CStr(i)
Next feuille
 Remarque : la ligne de commentaire introduite par une
apostrophe.

24 MAGEFI - Université de Bordeaux


Arrêt du programme

 Exit
 permet de sortir de la séquence en cours.
 Exemple : pour terminer prématurément une procédure, on écrira :
Sub essai()
...
If <condition> Then
Exit Sub
End If
...
End Sub
 De même, les commandes Exit Do et Exit Next permettent de quitter une
structure conditionnelle et une boucle For Next.

25 MAGEFI - Université de Bordeaux


Interaction entre VBA et EXCEL

 Première solution :
 La feuille est un objet.
 Constituée de plusieurs cellules.
  [Link](i,j) désigne la cellule de coordonnées (i,j) dans la
feuille de nom Feuil1.
 Tous les objets Excel (classeur, feuilles, fonctions, …)
correspondent à des objets (au sens programmation du terme)
et peuvent être manipulés dans VBA (à voir dans le chapitre
suivant).

26 MAGEFI - Université de Bordeaux


Exemple

 Création d’une facture…suivez le guide…

27 MAGEFI - Université de Bordeaux

Vous aimerez peut-être aussi