VBA Office
Solutions VBA inter-applications Office : l'Automation Office
L'Automation représente le pilotage inter-applications Office. A partir d'un logiciel Office, par exemple Excel, vous pouvez piloter un autre logiciel de la suite Office comme Word, Access, Powerpoint ou encore Outlook. Formation à Melun, à Paris, à Nanterre et en Île-de-France (IDF), ou à distance partout en France.
Piloter d'autres applications Office
- Envoi un courriel Outlook
- Réaliser un publipostage
- Insérer un tableau dans Word
- Lire les données d'une base Access
- VBA Office Full : Access > Excel > Word > Outlook
▲ Envoyer un courriel Outlook (Durée : 2 jours)
Objectifs pédagogiques :
- Découvrir les bases du langage VBA d'Excel au travers d'exercices pratiques simples
Public concerné :
- Toute personne souhaitant comprendre, à travers des exercices simples, le langage VBA Excel pour améliorer le code des macros généré par l’enregistreur de macros d'Excel
Prérequis :
- Avoir suivi le stage Excel : Perfectionnement ou maîtriser les fonctions avancées d'Excel
- Découvrir l’objet Outlook.Application : créer une instance Outlook, référence anticipée / tardive, gérer Outlook déjà ouvert ou fermé
- Créer et paramétrer un mail (MailItem) : À, CC, CCI, Objet, gestion de plusieurs destinataires depuis une plage Excel
- Gérer les pièces jointes : ajouter un fichier, ajouter plusieurs fichiers depuis une liste Excel, vérifier l’existence du fichier avant l’envoi
- Mise en forme du corps du message : texte brut vs HTML, insertion de contenu mis en forme, signature Outlook
- Envoi vs enregistrement : Send, Save, Display (aperçu avant envoi), gestion de plusieurs comptes d’envoi
- Automatiser l’envoi en masse : boucle sur un tableau Excel de destinataires, personnalisation du contenu par destinataire, gestion des erreurs d’envoi
- Journalisation et suivi : tableau de suivi des envois dans Excel (statut, date d’envoi), gestion des rebonds et erreurs
▲ Réaliser un publipostage (Durée : 2 jours)
Objectifs pédagogiques :
- Apprendre l’automation VBA Excel → Word pour réaliser un publipostage à partir d’un tableau Excel contenant les adresses des destinataires
- Filtrer, personnaliser et automatiser la génération de courriers en nombre
Public concerné :
- Toute personne maîtrisant VBA Excel et souhaitant automatiser la génération de courriers personnalisés dans Word
Prérequis :
- Avoir suivi le stage Excel VBA niveau 1 ou maîtriser les bases de VBA Excel
- Maîtriser Word
- Rappel : principe du publipostage classique dans Word, ce que VBA permet d’automatiser en plus
- VBA Word : l’objet MailMerge (type de document principal, source de données, exécution)
- Préparer la source de données Excel : structuration en tableau, en-têtes = champs de fusion, nettoyage des données
- Insertion des champs de fusion (MergeField) dans le document Word type par VBA
- Filtrer et trier les enregistrements avant fusion
- Personnaliser chaque lettre : champs conditionnels, mise en forme conditionnelle
- Finaliser la fusion : vers un nouveau document, vers l’impression, vers l’envoi de courriels
- Automatiser la génération d’un document séparé par destinataire
▲ Insérer un tableau Excel dans un document Word (Durée : 2 jours)
Objectifs pédagogiques :
- Apprendre l’automation VBA Excel → Word pour insérer un tableau Excel dans un document Word via les signets Word
- Générer un document Word mis en forme automatiquement à partir de données Excel variables
Public concerné :
- Toute personne maîtrisant VBA Excel et souhaitant automatiser l’intégration de tableaux Excel dans des documents Word
Prérequis :
- Avoir suivi le stage Excel VBA niveau 1 ou maîtriser les bases de VBA Excel
- Maîtriser Word
- Rappel : piloter Word.Application et Word.Document depuis VBA Excel
- Les signets Word (Bookmarks) : créer, nommer, se positionner, insérer du contenu à cet endroit
- Copier une plage Excel : options de collage (lien, image, tableau Word natif, valeurs)
- Convertir une plage Excel en tableau Word natif et appliquer un style de tableau
- Mise en forme du tableau inséré : largeur de colonnes, bordures, cohérence avec le modèle Word
- Gérer le contenu variable : nombre de lignes/colonnes différent à chaque exécution, suppression/redimensionnement du tableau existant
- Insertion d’éléments complémentaires : graphique Excel en image, texte dynamique autour du tableau
- Automatiser la génération d’un rapport Word complet à partir de plusieurs tableaux Excel
▲ Lire et modifier les données d’une base Access depuis Excel (Durée : 2 jours)
Objectifs pédagogiques :
- Apprendre l’automation VBA Excel ↔ VBA Access pour interagir depuis Excel avec une base de données Access
- Importer, modifier et renvoyer des données entre Excel et Access en toute sécurité
Public concerné :
- Toute personne maîtrisant VBA Excel et souhaitant échanger des données entre Excel et une base Access
Prérequis :
- Avoir suivi le stage Excel VBA niveau 1 ou maîtriser les bases de VBA Excel
- Connaissances de base d’Access
- Les méthodes de connexion à Access depuis Excel : DAO vs ADO, référencement des bibliothèques
- Se connecter à une base Access : chemin dynamique, gestion des erreurs de connexion (base absente, verrouillée)
- Construire et exécuter une requête SQL depuis VBA : SELECT, WHERE, ORDER BY, jointures simples
- Parcourir un Recordset et transférer les données dans une feuille Excel
- Concevoir un Userform de sélection : choix de la base, de la table ou de la requête, bouton d’import
- Modifier les données côté Excel puis les renvoyer dans Access : UPDATE, INSERT, gestion des clés primaires
- Gérer les erreurs et la cohérence des données : verrouillage, validation avant écriture
- Fermeture propre des connexions et libération des objets
▲ VBA Office Full : Access > Excel > Word > Outlook (Durée : 4 jours)
Objectifs pédagogiques :
- Apprendre l’automation des logiciels Office au travers d’un cas concret complet mettant en œuvre VBA Access (si installé), VBA Excel, VBA Word et VBA Outlook
- Concevoir une solution VBA multi-applications robuste et maintenable
Public concerné :
- Toute personne ayant suivi (ou maîtrisant) au moins un des modules A à D et souhaitant les mettre en pratique sur un cas complet
Prérequis :
- Avoir suivi les modules VBA Office précédents (Outlook, Publipostage, Tableau Word, Access) ou posséder les compétences équivalentes
- Analyse du cas concret : cahier des charges du processus à automatiser, découpage en étapes
- Architecture de la solution VBA multi-applications : Excel comme « chef d’orchestre », gestion des références aux bibliothèques Access/Word/Outlook
- Étape 1 – Extraction Access : connexion à la base, exécution de la requête, récupération des données dans Excel
- Étape 2 – Traitement Excel : mise en forme, calculs, contrôles de cohérence, préparation des données
- Étape 3 – Génération Word : création du document à partir d’un modèle, insertion du tableau traité via signets, mise en forme finale
- Étape 4 – Envoi Outlook : préparation et envoi du mail avec le document Word en pièce jointe
- Gestion globale des erreurs et robustesse : applications non installées/disponibles, messages utilisateur, journalisation
- Interface utilisateur globale : Userform de pilotage du processus complet, barre de progression, lancement en un clic
- Documentation et maintenance du projet : commentaires, structuration en modules et procédures réutilisables