Educatif

Pages: 9 (2086 mots) Publié le: 26 novembre 2012
Cours 1 : rappels de VBA/Excel
Cécile Le Pape cecile.lepape@lip6.fr

1

Rappels sur Excel
• Excel = Tableur
  

Collection de feuilles (worksheet) composées de cellules (cells). Un cellule est l’intersection entre une lignes et une colonne. Les feuilles sont regroupées en classeurs (workbook).

2

Editeur de code VBE

1 - Fenêtre VBAProject. Elle présente les différentsprojets ouverts et permet de naviguer facilement entre vos différentes feuilles de codes VBA. 2 - Fenêtre Code. C'est l'endroit ou vous allez saisir votre code VBA. 3 - Fenêtre Propriétés. Propriétés de l'objet sélectionné. 4 - Fenêtre Exécution. Elle permet de tester une partie du code. Elle peut s'avérer très utile pour voir comment s'exécutent certaines lignes de code.
3

Ecrire un programmeVBA/Excel
1. Ouvrir l’éditeur de code VBE 2. Insertion > Module 3. Définition du code
1. 2. 3.

Déclaration des variables globales Définition des procédures et des fonctions personnalisées Définition d’une macro (procédure sans paramètre) Placer le curseur dans la macro à exécuter Cliquer sur F5

4. Exécution d’un programme
1. 2.

4

Exemple de module
Const nbmax As Integer = 10 ‘nombremax de changements de couleur ‘ définition d’une fonction qui calcule un indice de couleur aléatoire Function couleur() As Integer couleur = 1 + Rnd() * 56 End Function ‘définition d’une procédure qui prend en paramètre un numéro de ligne et un numéro de colonne ‘ et qui modifie la couleur de fond de la cellule aléatoirement Sub ChangeCouleur(ByVal ligne As Integer, ByVal colonne As Integer)Cells(ligne, colonne).Interior.ColorIndex = couleur End Sub ‘ définition d’une procédure sans paramètre (ou macro) qui demande à l’utilisateur les coordonnées ‘ d’une cellule et qui modifie 10 fois son fond, avec un intervalle de 1 seconde entre 2 couleurs Sub test() Dim l, c As Integer Dim nb As Integer nb = 0 Randomize l = InputBox("ligne?") c = InputBox("colonne ?") While nb < nbmax ChangeCouleur l,c nb = nb + 1 Application.Wait Now() + TimeValue("00:00:01") Wend End Sub

5

Variables, instructions et opérateurs

6

Variables
• Règles d’écriture


Pas sensible à la casse. Doivent commencer par un caractère et ne pas comporter d’espace. Les caractères accentués sont à proscrire.
Definition True, False pour les entiers courts (de -32 768 à 32 767) pour les entiers longs ou lesdécimaux jusqu’à 65 000 caractères type des variables non déclarées, mais très gourmant en mémoire. 4 octets pour stocker la référence d’un objet As TypeVar
1037 10.6 1063218 "toto" 29:09:06

• Types des variables
Type
Boolean Integer Double String Date Variant Object

exemple

Dim NomVar • Déclaration • Affectation avec le symbole =
7

Constantes et commentaires
• Constantes
Variable dont on ne peut pas changer le contenu.
Const NomCst As TypeCst = expr



Exemple : Const Chemin as String = "c:\application\excel\"

• Commentaires
 

Toute ligne précédée d’une apostrophe « ’ » Exemple :
’ Ceci est un commentaire

8

Instructions
• Pas d’instruction « orpheline » dans un module


Toute instruction doit être incluse dans un sous-programme

• Pasde symbole de terminaison d’une instruction • Instruction sur deux lignes, en utilisant le symbole « _ »
Le début de mon instruction qui est vraiment très _ très très longue

• Séquence d’instructions


Première écriture
Instruction1 Instruction2



Deuxième écriture
Instruction1 ; Instruction2

9

Opérateurs
Opérateur & ^ * / \ Mod + Définition Concaténation de 2 chaînes decaractères permet d’élever un nombre à une puissance multiplie 2 nombres divise 2 nombres divise 2 nombres en renvoyant un entier (modulo) renvoie un entier qui est le reste de la division de 2 nombres soustrait 2 nombres ou inverse le signe d’un nombre ajoute 2 nombre Exemple
″Jean″ & ″ ″ & ″Dupont″ 2^3 2*3 20/3 20\3 20 Mod 3 20-3 20+3

‘vaut 8 ‘vaut 6 ‘vaut 6.6666667 ‘vaut 6 ‘vaut 2 ‘vaut 2...
Lire le document complet

Veuillez vous inscrire pour avoir accès au document.

Vous pouvez également trouver ces documents utiles

  • Projet educatif
  • Systèmes éducatifs
  • Projet éducatif
  • jeu educatif
  • system educatif
  • Les systemes éducatif
  • Projet educatif
  • Le système éducatif

Devenez membre d'Etudier

Inscrivez-vous
c'est gratuit !