• Aucun résultat trouvé

Les concepts de base de la programmation VBA – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Les concepts de base de la programmation VBA – Cours et formation gratuit"

Copied!
32
0
0

Texte intégral

(1)

Visual Basic pour Applications

Les concepts de base de la programmation, 1`ere partie Romain Tavenard K´evin Huguenin Christophe Avenel

Romain.Tavenard@irisa.fr Kevin.Huguenin@gmail.com Christophe.Avenel@irisa.fr 11 Septembre 2008

(2)

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(3)

Plan g´en´eral du cours

Plan g´en´eral du cours (6 × 2h de cours magistral)

1 Les concepts de base de la programmation (2 s´eances)

2 La notion d’objet

3 Les objets sp´ecifiques de la suite Microsoft Office (2 s´eances)

4 Les interfaces graphiques avec VB

(4)

La programmation en´eralit´es

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(5)

La programmation en´eralit´es

Pourquoi programmer ?

Pour automatiser une tˆache.

Exemples (issus de Visual Basic pour Applications) :

Microsoft Word : mettre en italique toutes les locutions latines d’un texte ;

Microsoft Excel : remplir toutes les cases vides d’un tableau ;

Microsoft Access : ins´erer des champs `a partir de valeurs d’un tableau Excel.

(6)

La programmation en´eralit´es

Que signifie ”programmer” ?

Cela consiste `a :

1 comprendre les actions `a ex´ecuter et les d´ecisions `a prendre ;

2 d´ecomposer une action en instructions ´el´ementaires ;

3 traduire ces instructions ´el´ementaires en langage compr´ehensible par une machine.

(7)

La programmation en´eralit´es

Que signifie ”programmer” ? (Exemple)

Exemple de programme : tri d’un tableau de nombres : monTableau = [31 6 4 2 78 3 5 0];

Comprendre les actions `a ex´ecuter

parmi ceux qu’on n’a pas encore trait´es :

chercher le plus petit

le mettre `a la fin des ´el´ements trait´es

recommencer jusqu’`a ce qu’on ait tout trait´e

(8)

La programmation en´eralit´es

Que signifie ”programmer” ? (Exemple)

Exemple de programme : tri d’un tableau de nombres ;

D´ecomposer ces actions en instructions ´el´ementaires

pour i allant de 1 au nombre d’´el´ements du tableau valeurMin = tableau[i]

indexMin = i

pour j allant de i+1 au nombre d’´el´ements de la liste si tableau[j] < valeurMin

valeurMin = tableau[j]

indexMin = j fin si

fin pour

tableau[indexMin] = tableau[i]

tableau[i] = valeurMin fin pour

(9)

La programmation en´eralit´es

Que signifie ”programmer” ? (Exemple)

Exemple de programme : tri d’un tableau de nombres ;

Traduction en langage compr´ehensible par une machine via VB For i = 1 to N-1

valeurMin = tableau(i) indexMin = i

For j = i+1 to N

If tableau(j) < valeurMin Then valeurMin = tableau(j)

indexMin = j Endif

Next j

tableau(indexMin) = tableau(i) tableau(i) = valeurMin

Next i

(10)

La programmation Concepts de base

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(11)

La programmation Concepts de base

Variables

Une variable sert `a stocker et manipuler des donn´ees dans un programme.

Elle est d´efinie par :

un nom ;

un type de donn´ee qu’elle contiendra.

L’instruction de d´efinition d’une variable est appel´ee d´eclaration. Par exemple, en VB, si on veut d´eclarer que maVariable contiendra un nombre entier, ¸ca donne :

Dim maVariable as Integer

Il est possible de modifier la valeur d’une variable au cours de l’ex´ecution du programme.

(12)

La programmation Concepts de base

Constantes

Une constante poss`ede les mˆemes caract´eristiques qu’une variable sauf que, par d´efinition, on ne peut pas la modifier au cours de l’ex´ecution du programme.

(13)

La programmation Concepts de base

Types primitifs

Diff´erents types primitifs :

type bool´een: VRAI/FAUX ;

type entier: nombre entier ;

type flottant: nombre `a virgule ;

type chaˆıne de caract`eres: morceau de texte.

(14)

La programmation Concepts de base

Affectations

Une affectation est l’instruction qui permet de donner une valeur `a une variable. On utilise, en VB, le signe = pour cela :

maVariable = 12

La valeur d’une constante est affect´ee lors de sa d´eclaration ! Le code suivant produirait donc une erreur :

maConstante = 12

(15)

La programmation Concepts de base

Op´erations

Pour programmer, il faut pouvoir manipuler les variables dont on dispose.

Cela se fait `a partir d’op´erations ´el´ementaires qui sont :

pour les variables num´eriques :

+,,×,/;

pour les variables de type chaˆıne de caract`eres :

la concat´enation : ”mettre bout-`a-bout des morceaux de texte”

par exemple, la concat´enation de ”bon” et ”jour” donne ”bonjour” ;

pour les variables bool´eennes :

ET, OU, NON ;

(16)

La programmation Bonnes pratiques

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(17)

La programmation Bonnes pratiques

Pourquoi des bonnes pratiques ?

Pour avoir un code facile `a relire et `a modifier. . .

. . .par soi-mˆeme ;

. . .et par les autres.

(18)

La programmation Bonnes pratiques

Quelles bonnes pratiques ?

Voici une premi`ere liste (non-exhaustive) de bonnes pratiques :

utiliser des noms de variables explicites ;

utiliser, lorsque c’est adapt´e, des constantes ;

commenter son code.

(19)

La programmation Bonnes pratiques

Les noms de variables

Les noms de variables utilis´es doivent ˆetre explicites. Le nom d’une variable doit repr´esenter :

son type ;

son utilisation.

Par exemple, on doit `a tout prix ´eviter des noms du type : variable1et leur pr´ef´erer des noms tels queintAge.

(20)

La programmation Bonnes pratiques

L’utilisation de constantes

L’int´erˆet de l’utilisation de constantes r´eside en deux points :

modification du code simplifi´ee, ce qui permet d’´eviter : Dim intRayon as Integer

Dim doubleAire as Double Dim doublePerimetre as Double intRayon = 5

doubleAire = 3.14 * intRayon * intRayon doublePerimetre = 3.14 * 2 * intRayon

utilisation des erreurs g´en´er´ees, ce qui permet d’´eviter : Dim doublePi as Double

doublePi = 3.1 [...]

doublePi = 3.14

(21)

La programmation Bonnes pratiques

Les commentaires

Les commentaires sont des lignes de code qui ne seront pas interpr´et´ees par la machine. Ils servent donc de ”pense-bˆete” aux programmeurs.

En VB, les commentaires sont toujours pr´ec´ed´es du symbole ’. Par exemple :

Dim intRayon as Integer Dim doubleAire as Double Dim doublePerimetre as Double Const constDoublePi as Double

intRayon = 5 ’le rayon du cercle vaut 5

constDoublePi = 3.14 ’on conserve 2 chiffres apr`es la virgule

’calcul de l’aire du disque

doubleAire = constDoublePi * intRayon * intRayon doublePerimetre = constDoublePi * 2 * intRayon

(22)

Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(23)

Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Int´erˆet de VB

L’int´erˆet d’utiliser VB pour programmer r´eside dans les deux points suivants :

facilit´e de la programmation de fenˆetres et boˆıtes de dialogue ;

Visual Basic pour Applications (VBA) : extension de VB sp´ecifique `a la suite Microsoft Office.

(24)

Le cas particulier de Visual Basic (VB) Application des concepts de base en VB

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(25)

Le cas particulier de Visual Basic (VB) Application des concepts de base en VB

Types de donn´ees

Impl´ementation des types primitifs :

type bool´een(VRAI/FAUX) : Boolean;

type entier(nombre entier) : Byte,Integer,Long;

type flottant(nombre `a virgule) :Single,Double;

type chaˆıne de caract`eres(morceau de texte) : String;

autres types : Date,Currency.

(26)

Le cas particulier de Visual Basic (VB) Application des concepts de base en VB

D´eclaration de variables et de constantes

La d´eclaration d’une variable en VB se fait de la mani`ere suivante : Dim nomDeLaVariable as TypeDeLaVariable

Par exemple, pour d´eclarer une variableintRayon de type entier : Dim intRayon as Integer

La d´eclaration d’une constante en VB se fait de la mani`ere suivante :

Const nomDeLaConstante as TypeDeLaConstante = valeurDeLaConstante

Remarquez que l’affectation se fait `a la d´eclaration ! Par exemple, pour d´eclarer une constante constDoublePide type nombre `a virgule qui vaille 3.14 :

Const constDoublePi as Double = 3.14

(27)

Le cas particulier de Visual Basic (VB) Application des concepts de base en VB

Affectation de variables et de constantes

L’affectation d’une valeur `a une variable en VB se fait de la mani`ere suivante :

nomDeLaVariable = valeurAffectee

Par exemple, pour d´eclarer une variablestrNomDeFamillede type chaˆıne de caract`eres et lui attribuer la valeur ”Tavenard”, en VB, on a :

Dim strNomDeFamille as String strNomDeFamille = "Tavenard"

(28)

Le cas particulier de Visual Basic (VB) Application des concepts de base en VB

Op´erations sur les variables

Variables num´eriques (nombres entiers et nombres `a virgule) :

⇒ +,-,*,/;

doubleAireDisque = constDoublePi * intRayon * intRayon

Variables de type chaˆınes de caract`eres :

⇒ &;

strNomComplet = strPrenom & " " & strNomDeFamille

Variables bool´eennes :

⇒ And,Oret Not.

boolIlFaitBeau = boolLeSoleilBrille And Not(boolIlPleut)

(29)

Le cas particulier de Visual Basic (VB) Les boˆıtes de dialogue et l’interface utilisateur

Plan

1 Plan g´en´eral du cours

2 La programmation G´en´eralit´es Concepts de base Bonnes pratiques

3 Le cas particulier de Visual Basic (VB) Int´erˆet de VB

Application des concepts de base en VB Les boˆıtes de dialogue et l’interface utilisateur

(30)

Le cas particulier de Visual Basic (VB) Les boˆıtes de dialogue et l’interface utilisateur

Affichage d’une boˆıte de dialogue simple

intRetour = MsgBox("Texte `a afficher", _ vbOKOnly,"Titre de la fen^etre")

(31)

Le cas particulier de Visual Basic (VB) Les boˆıtes de dialogue et l’interface utilisateur

Affichage d’une boˆıte de dialogue avec zone de saisie

strRetour = InputBox("Question `a poser ? ", _

"Titre de la fen^etre", "R´eponse par d´efaut")

(32)

O`u t´el´echarger ce cours ?

O`u t´el´echarger ce cours ?

A l’adresse suivante :`

http ://www.irisa.fr/texmex/people/tavenard/htbin/teaching.php

Références

Documents relatifs

En réalité, cela n'est pas tout à fait possible et certaines classes doivent utiliser des méthodes (nom donné à ce que nous considérerons pour l'instant comme des procédures)

Cette interface définie des méthodes pour parcourir la liste dans les deux sens et effectuer des mises à jour qui agissent par rapport à l'élément courant dans le parcours. En plus

Cette procedure ne donne pas de resultat lorsque la grammaire est ce qu'on appelle recursive a gauche (le mot recursif n'a pas ici tout a fait le m^eme sens que dans les

Le plus souvent, cela signifie qu’un objet dont la classe reste immuable, peut, dans certaines conditions, ˆetre rang´e dans une variable dont le type est une autre classe.. Un

Que ce soit dans un programme, un module, une fonction ou une macro, gardez toujours l’ordre déclaration (des variables, des fonctions, des macros) puis utilisation, quant bien même

Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur.. Sinon

● La démarche n'est pas aussi théorique que ce qu'elle serait dans un langage classique : il ne s'agit pas tant de savoir pourquoi on fait les. choses, il s'agit plutôt savoir

Par exemple, le programme suivant permet de manipuler en mˆeme temps les deux champs de type unsigned int d’une structure en les identifiant `a un objet de type unsigned long