Formulaire pour enregistrer et récupérer des données avec l'enregistreur de macros
Date de publication : 16 janvier 2009
Par
Pierre Fauconnier (Pierre Fauconnier sur DVP)
I. Introduction
I-A. Objectifs de ce tutoriel
I-B. Versions illustrées
II. Outils disponibles dans Excel
II-A. Mise en place
II-A-1. Utilisation du formulaire avec Excel 2003
II-A-2. Utilisation du formulaire avec Excel 2007
III. Optimisation du code généré par l'enregistreur de macros
IV. Remerciements
I. Introduction
I-A. Objectifs de ce tutoriel
Avec cet tutoriel, je souhaite vous montrer comment créer un formulaire de collecte
et de récupération de données en utilisant l'enregistreur de macros.
Bien sûr, tout ne se fera pas avec l'enregistreur, et nous aurons besoin de
"planter le décor", en utilisant quelques outils et formules qu'Excel met
à notre disposition.
Je vous montrerai que, même sans rien connaître de VBA, le langage
de programmation livré avec Excel, il y a moyen d'automatiser des tâches.
En fin de tutoriel, j'indiquerai comment optimiser le code, notamment
pour le rendre plus aisément évolutif.
I-B. Versions illustrées
Ce tutoriel s'appuie sur les versions 2003 et 2007 d'Excel. Si la partie
"Automatisation" est identique pour les deux millémimes, nous aurons
l'occasion d'aborder certaines différences, tant ergonomique que conceptuelles,
qui existent entre la "vieille" et la "nouvelle".
II. Outils disponibles dans Excel
Excel met à disposition de l'utiliseur un outil permettant de "gérer les données".
Cet outil, léger et somme toute peu convivial, a le mérite d'exister,
et je pense donc qu'il est justice d'en faire mention ici.
II-A. Mise en place
Plantons le décor de la saisie de nos données, en vue d'utiliser l'outil
proposé par Excel.
Pour cela, créons une feuille de données que nous appellerons Données
et précisons les champs qui contiendront nos données.
L'idée sera d'enregistrer dans cette feuille les données relatives
à des employés d'une entreprise. Nous saisirons donc des données
telles que
- Identifiant de l'employé (numéro du registre du personnel par exemple)
- Nom
- Prénom
- Date de naissance
- Service
- Date Entrée
Normalement, nous saisirons les données de façon à permettre à Excel une
utilisation optimale des formules et outils de gestion de données, à savoir
- Première cellule en A1
- Pas de noms de champs vides (toutes les cellules remplies en ligne 1 entre la colonne A et la dernière colonne de la liste)
- Pas de cellule vide en colonne A entre la ligne 1 et la dernière ligne du tableau
- Si possible, pas de doublons en colonne A
La préparation de la feuille de données devrait donner ceci
II-A-1. Utilisation du formulaire avec Excel 2003
En 2003, nous pouvons créer facilement le formulaire de saisie sur
base de cette feuille de données.
Pour cela, plaçons-nous sur une ligne d'entête et actionnons le menu
Données/Formulaire...
|
Veillez à vous positionner sur la ligne d'entête pour éviter
le message d'alerte suivant
|
A la première activation du formulaire, et pour autant qu'il n'y ait
pas encore de données sous la ligne d'entête, nous recevons un message
d'avertissement, car Excel "ne comprend pas" quelle est la plage
de données
En cliquant sur OUI, nous obtenons le formulaire de
saisie d'Excel, et nous voyons que son titre correspond au nom de
la feuille active et qu'il présente des champs reprenant les
intitulés des colonnes de la "table de données".
II-A-2. Utilisation du formulaire avec Excel 2007
Excel 2007 a "caché" l'outil Formulaire.... Pour le trouver, je
n'ai pas à ce jour d'autre solution que d'ajouter le bouton sur la barre
d'outils Accès rapide.
Pour cela, clic sur le bouton d'ajout de commande
Recherche du bouton ad hoc dans Toutes les commandes
Ajout de la commande formulaire
La suite est identique à la version 2003.
III. Optimisation du code généré par l'enregistreur de macros
IV. Remerciements
Copyright © 2009 Pierre Fauconnier.
Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de
son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 €
de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.