# Macros-commandes VBA

| Chap. 1 : | Les Macros Excel (14) |
| Chap. 2 : | Pour démarrer (14) |
| Chap. 3 : | Architecture (14) |
| Chap. 4 : | Les types en VB (14) |
| Chap. 5 : | Manipulation des variables (14) |
| Chap. 6 : | Conditionnelles et boucles (14) |
| Chap. 7 : | Enregistreur (14) |
| Chap. 8 : | Boite de dialogue (14) |
| Chap. 9 : | Création de Formulaire (14) |
| Chap. 10 : | Création de Fonction (14) |
| Chap. 11 : | Création de Graphique (14) |
| Chap. 12 : | Création de Tableau croisé (14) |
| Chap. 13 : | Lectures et écritures (14) |
| Chap. 14 : | Gestion des droits et répertoires (14) |
| Chap. 15 : | Devenez un connaisseur (14) |
| Chap. 16 : | Devenez un expert (14) |
| Chap. 17 : | Procédures et événements automatiques (14) |
| Chap. 18 : | Débogage (14) |
| Chap. 19 : | Créer des macros complémentaires (14) |
| Chap. 20 : | Consolider des classeurs (14) |
| Annexe 1 : | Lexique (14) |
| Annexe 2 : | Raccourcis (14) |
| Annexe 3 : | La gestion des erreurs (14) |
| Annexe 4 : | Fonctions Financières (14) |
| Annexe 5 : | Les Contrôles Activex (14) |
| Annexe 6 : | Mots réservés (14) |
| Annexe 7 : | Codes connus (14) |
| Quiz 1 : | QCM Quizz facile VBA (14) |
| Quiz 2 : | QCM Les formulaires VBA (14) |
| Quiz 3 : | QCM Les macros VBA (14) |
| Quiz 4 : | QCM Les fonctions VBA (14) |
| Quiz 5 : | QCM Contrôle Activex VBA (14) |
| Quiz 6 : | QCM Procédures et événements automatiques (14) |
| Quiz 7 : | QCM Tableaux croisés dynamiques (14) |
| Quiz 8 : | QCM Graphiques (14) |
| Quiz 9 : | QCM Consolidation de classeurs (14) |
| Quiz 10 : | QCM Macros Complémentaires (14) |
| Exos. 1 : | Multiplication (14) |
| Exos. 2 : | Format Euro (14) |
| Exos. 3 : | Convertisseur Euro-Franc (14) |
| Exos. 4 : | Filtre dynamique (14) |
| Exos. 5 : | Formulaire simple (14) |
| Exos. 6 : | Calcul d'une commission (14) |
| Exos. 7 : | Remplacement des hyperliens (14) |
| Exos. 8 : | Consolidation de classeurs (14) |
| Exos. 9 : | Contrôle de données (14) |
| Exos. 10 : | Création de formulaire personnalisé (14) |
| Exos. 11 : | Utilisation des boites de message (14) |
| Exos. 12 : | Imprimantes (14) |
| Exos. 13 : | Procédures et événements automatiques (14) |
| Exos. 14 : | Génération de graphiques (14) |
| TP 1 : | Construire une interface graphique (14) |
| TP 2 : | Construire un tableau croisé dynamique (14) |
Sur les autres projets Wikimedia :
* « Category:Visual Basic » sur Commons
* « Visual Basic for Applications » sur Wikipédia
* « macro-commande » sur le Wiktionnaire
* « Programmation Visual Basic .NET » sur Wikibooks

## Présentation [Modifier]

Une macro-commande est un programme informatique qui sert à automatiser et exécuter des enchainements d'actions qu'un utilisateur a l’habitude de mener régulièrement sur son poste de travail. Ainsi, l'utilisateur, grâce à la macro rappelée par son nom unique contribue à gagner en efficacité, exécutant automatiquement plusieurs commandes pré-enregistrées par un simple appel dans son logiciel hôte (appel via une touche de fonction, via une sélection par souris, via un click bouton, via un programme, via un appel direct ou via toute autre action). Notons également que la macro-commande peut contenir non seulement des instructions de manipulation de données mais aussi des instructions de calcul, de mise en forme et de contrôle qui facilitent les aspects ré-utilisabilité, suivi et généricité.
Les langages de macro-commandes sont très nombreux et sont employés dans des contextes informatiques très divers
* Système : Shell de UNIX et LINUX, Scripting de WINDOWS et de MACOS, ...
* Bureautique : Javascript, Basic ou Python de la suite LIBRE OFFICE, Visual Basic Application de la suite MICROSOFT OFFICE, ...
* Multimedia : Macro des logiciels libres de dessin GIMP et InkScape, Action de l'outil commercial de retouche PHOTOSHOP, ...
Dans cette leçon, seul le langage de macros-commandes VBA (Visual Basic Application de MICROSOFT) sera abordé, avec des exemples pris dans la plupart des cas depuis son conteneur le plus prisé : EXCEL.
D'autres langages de macros spécifiques aux systèmes d'exploitation, aux autres outils bureautiques, aux langages de programmation pourront compléter cet apprentissage

## Objectifs [Modifier]

Qu'il soit informaticien ou non, un utilisateur avancé EXCEL utilisera tôt ou tard les macros-commandes. La finalité de cette leçon est qu’un utilisateur EXCEL puisse comprendre, analyser ou étudier, modifier ou adapter et finalement utiliser les macros-commandes VBA. Pour lui permettre d'atteindre cette finalité grâce à cette leçon, voici les objectifs pédagogiques que nous allons viser :
* L'apprenant devra savoir utiliser sous EXCEL l'enregistreur automatique de macros VBA
* L'apprenant devra savoir activer sous EXCEL l'outil développeur VBA
* L'apprenant devra savoir expliquer l'utilité des macros VBA
* L'apprenant devra savoir se servir de boites de dialogues pour obtenir la saisie simple d'information de l’utilisateur EXCEL
* L'apprenant devra savoir créer des procédures pour automatiser le traitement d'informations EXCEL
* L'apprenant devra savoir créer des fonctions permettant de compléter l’ensemble des fonctions standards EXCEL
* L'apprenant devra savoir reconnaitre les structures de programmation VBA (déclarations, instructions, commentaires, ...)
* L'apprenant devra savoir créer des formulaires pour obtenir la saisie complexe d'information de l’utilisateur EXCEL
* L'apprenant devra savoir identifier les mots-clés du langage VBA et les utiliser dans ses macros
* L'apprenant devra savoir déceler et réparer les erreurs liées aux macros VBA qu’il conçoit ou utilise

## Niveau et prérequis conseillés [Modifier]

Leçon de niveau 14.
* Connaitre et utiliser fréquemment les logiciels bureautiques de la suite MS-OFFICE, notamment EXCEL et plus particulièrement ses fonctions standards et avancées
* Avoir un zeste d'expérience en programmation est un plus, notamment avec le langage Visual Basic

## Référents [Modifier]

Ces personnes sont prêtes à vous aider concernant cette leçon :
* Copaulau (discussion)
* celkristena (discussion)
* JackPotte ($♠) 31 décembre 2014 à 21:55 (UTC)