LA PROGRAMMATION SOUS EXCEL - QUELQUES REPERES

La partie "tableur" offre dejà de nombreux outils qui, pour une large majorité, s'avèrent suffisants.

En fonction de ce que l'on souhaite faire, chaque cas étant particulier, formules et fonctions ayant atteint leurs limites, ne permettent pas de résoudre tous les problèmes. Il faut alors passer par quelques lignes de code, réaliser un peu de programmation, faire du "sur-mesure".

 

Quelques explications pour le néophyte.

 

Qu'est-ce qu'une macro dans Excel ?

En termes simples, une macro est une succession de commandes enregistrées. A l'image d'un son enregistré au magnétophone, le code généré peut être appelé afin d'être réexécuté.

Une macro est intéressante dans le sens où elle peut éviter des tâches répétitives.

 

Enregistrer une macro

 

Pour enregistrer une macro :

Excel > 2003 : Menu Outils - Macros - Enregistrer une macro

Excel 2007 : Ruban développeur - Enregistrer une macro

 

Par défaut, Excel vous propose d'enregistrer la macro dans le classeur actif. Notez que ce classeur devra être ouvert pour accéder à votre macro.

Pour ne pas attacher la macro à un classeur propre mais l'utiliser dans votre environnement Excel, vous devez enregistrer la macro dans le classeur de macros personnelles (PERSO.XLS).

 

Dès que vous avez validé cette boîte de dialogue, les différentes manipulations réalisées sous Excel sont enregistrées. Une nouvelle fenêtre apparaît. Elle contient un bouton afin de pouvoir arrêter cet enregistrement.

 

Réalisez une manipulation simple, sélectionnez la feuille 2 et arrêtez l'enregistrement.

 

Voir le code de la macro

Les touches de raccourci Alt + F11 permettent d'accéder à l'éditeur Visual Basic (Excel toutes versions).

On retiendra déjà que Visual Basic est le language de programmation propre à Microsoft. C'est un langage "propriétaire". Open Office ne l'utilise pas.

Visual Basic se retrouve également sous Word, Access, Power Point, etc.

L'éditeur Visual Basic est l'interface qui vous permet de voir et de modifier votre macro. Il offre également de nombreux outils pour le développement d'applications plus complexes.

 

Module Visual Basic

 

Sur la partie gauche, le dossier "Modules" contient une feuille. Voici donc le code de la manipulation que vous venez de réaliser.

 

Sub Macro1()
'
' Macro2 Macro
' Macro enregistrée le
'

'
Sheets("Feuil2").Select
End Sub

 

On aurait pu tout aussi bien aller directement dans l'éditeur, insérer un module et taper ces lignes.

 

CONSEIL : Réalisez différentes commandes avec l'enregistreur de macros et visualisez le code ainsi généré afin de vous familiariser à l'écriture.

Modifier le code de la macro

Ici déjà, le nom de cette macro, peut explicite, pourrait être renommé. On pourrait remplacer la feuille 2 par la feuille 3, ajouter quelques lignes de code ou les copier à partir d'une autre source.

 

Exécuter une macro, une procédure

Procédures manuelles :

Le menu Outils - Macros - Macros permet de lancer la macro.

On peut aussi l'affecter à un une image, un bouton. Après avoir inséré cette image, Le clic droit sur l'image propose le menu "Affecter à une macro".

On peut auusi l'affecter à une barre d'outil.

Procédures évènementielles

Le code est exécuté en fonction d'un évènement précis. Elle peut concerner par exemple l'objet feuille (Worksheet) ou l'objet classeur (Workbook)

 

Exemple : routine d'enregistrement d'un classeur lors de sa fermeture. Le code va décrire les modalités d'enregistrement, la fermeture du classeur est l'évènement déclencheur de cette procédure.

 

Le code Visual Basic - Généralités

Commençons déjà par la notion d'objets. Un objet peut être une plage de cellules, une feuille, un classeur...

Ces objets possèdent des propriétés. On les utilise pour contrôler leurs apparences ou leurs comportements. La largeur d'une colonne est une propriété de l'objet colonne.

Les objets possèdent également des méthodes. Ces méthodes permettent l'exécution d'actions. Ainsi, effacer, copier sont des méthodes.

 

L'ensemble de ce code est donc une procédure qui renferme différentes instructions

 

La barre d'outils Visual Basic

Barre d'outils Visual Basic

 

Elle dispose, entre autre, d'une boîte à outils contrôles. Elle permet de choisir entre différents objets tels que bouton, case à cocher, zone de liste déroulante qui peuvent être placés sur la feuille de calcul. Un double clic dans cet objet renvoie à l'éditeur afin de paramétrer les propriétés.

 

 

Visual Basic

 

Il est également possible de créer des objets directement dans Visual Basic Editor qui sont appelés par un bouton placé sur une feuille afin d'exécuter une tâche particulière.

Cette composition d'objets est placée sur une feuille et un double clic sur chacun affiche le code le concernant.

 

Visual Basic permet la création de véritables applications qui modifient considérablement l'apparence de la feuille Excel traditionnelle. Il est également possible de supprimer tout accès aux commandes traditionnelles. A ce stade, nous sommes déjà dans une toute autre dimension.

 

La création de telles applications nécessite un travail de réflexion en amont, et faut-il le rappeler, d'autres logiciels sont disponibles pour les réaliser. Néanmoins, Excel offre à lui seul une richesse remarquable qu'il convient de connaître avant de se lancer dans tout travail de développement.

 

Le ruban développeur dans Excel 2007 - 2010

Le ruban développeur n'est pas installé par défaut. Il doit être configuré par le menu Fichier - Options - Personnaliser le ruban.

Dans la partie de droite, Personnaliser le ruban, cochez "Développeur".