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

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