Akademia Formation
💼Bureautique & Microsoft 365Présentiel/Distanciel

Formation LibreOffice Calc - Macros et automatisation Basic

Formation avancée à l'automatisation de LibreOffice Calc via LibreOffice Basic : enregistreur de macros, IDE Basic, manipulation de feuilles et de cellules, boîtes de dialogue, interconnexion avec les autres composants (Writer, Base) et interopérabilité avec Excel VBA. Programme aligné sur la documentation officielle The Document Foundation (Basic Guide 26.2).

3 jours / 21h
Programme détaillé
1

Fondamentaux LibreOffice Basic

Duree : 5h
Objectif operationnel : Maîtriser l'environnement de développement Basic et écrire des macros simples et propres.
Contenu :
  • Enregistrement d'une macro (Outils > Macros > Enregistrer une macro) — activation préalable, périmètre, limites
  • Ouvrir l'IDE LibreOffice Basic (Outils > Macros > Éditer les macros) : arborescence Bibliothèque > Module > Sub / Function
  • Hiérarchie : Mes macros (utilisateur) / Macros LibreOffice (système) / macros dans le document — portée et bonnes pratiques
  • Structure d'une procédure : Sub / End Sub, Function / End Function, arguments, valeur de retour
  • Types de données : Integer, Long, Double, String, Boolean, Date, Variant — déclaration Dim, portée locale/globale
  • Variables, constantes, opérateurs, expressions — commentaires (') et documentation
  • Structures de contrôle : If...Then...Else, Select Case, boucles For, Do While, Do Until, Exit
  • Gestion d'erreur : On Error GoTo, Err.Number, Err.Description — pièges à éviter
  • Exécution pas à pas (F8) et point d'arrêt : débogage guidé
Mise en pratique : Écrire une macro qui, à partir d'un classeur brut, ajoute un onglet « Synthèse », y copie les en-têtes, calcule un total et enregistre le fichier avec la date du jour dans le nom.
Livrable : Macro « Synthese_Jour » dans la bibliothèque personnelle, commentée et testée.


2

Manipuler feuilles, cellules et plages en Basic

Duree : 4h
Objectif operationnel : Écrire du code qui accède au contenu, aux formats et aux styles des cellules avec l'API UNO.
Contenu :
  • Le modèle objet UNO : ThisComponent, getSheets(), getByIndex(n), getByName(nom) — accès à un classeur, à une feuille, à une cellule
  • Objet Cell : getValue(), getString(), setValue(), setFormula(), setPropertyValue() — lire et écrire
  • Objet Range (plage) : getCellByPosition(col, ligne), getCellRangeByName(« A1:C10 ») — les deux syntaxes équivalentes
  • Parcourir une plage : boucle For sur les lignes et les colonnes, arrêt sur cellule vide
  • Manipuler la mise en forme : CharColor, CellBackColor, HoriJustify, NumberFormat via getServiceManager()
  • Insérer, supprimer, dupliquer une feuille par code : insertNewByName, removeByName, copyByName
  • Appliquer un style de cellule existant (CellStyle) — s'appuyer sur les styles définis dans le document
  • Manipuler les commentaires et les protections de cellules par code
Mise en pratique : Écrire une macro qui balaie une base de 5 000 lignes et met en rouge les cellules dont la marge est <5 %, en jaune celles entre 5 et 10 %.
Livrable : Macro « Surligner_Marges » et son code documenté.


3

Boîtes de dialogue et interface utilisateur

Duree : 4h
Objectif operationnel : Créer des interfaces utilisateur simples pour rendre les macros exploitables par des non-développeurs.
Contenu :
  • Boîtes de dialogue de base : MsgBox (information), InputBox (saisie utilisateur), constants (vbYesNo, vbCritical)
  • Créer une boîte de dialogue personnalisée dans l'IDE (Outils > Dialogues) : formulaire avec zones de texte, listes déroulantes, cases à cocher, boutons
  • Événements sur les contrôles : gestionnaires OnClick, OnItemStateChanged — associer une macro à un bouton
  • Charger, afficher, fermer une boîte de dialogue : CreateUnoDialog, execute, endExecute
  • Ajouter une macro au menu ou à la barre d'outils (Outils > Personnaliser)
  • Assigner une macro à un événement du document : ouverture, sauvegarde, modification (Outils > Personnaliser > Événements)
  • Bonnes pratiques UX : intitulés clairs, valeurs par défaut, contrôles obligatoires, message de confirmation, undo si possible
Mise en pratique : Créer une boîte de dialogue qui demande à l'utilisateur une période (date début, date fin) et lance une extraction filtrée dans un nouveau classeur.
Livrable : Boîte de dialogue « Extraction_Periode » et sa macro associée, prêtes à être copiées dans n'importe quel classeur d'analyse.


4

Interconnexion Calc / Writer / Base / fichiers

Duree : 4h
Objectif operationnel : Faire dialoguer Calc avec les autres composants LibreOffice et avec l'environnement du système.
Contenu :
  • Ouvrir un document Writer depuis Calc et y insérer un tableau (StarDesktop.loadComponentFromURL)
  • Publipostage programmatique : générer plusieurs Writer à partir d'une base Calc (courriers types, attestations, convocations)
  • Se connecter à une base LibreOffice Base ou une base externe (ODBC / JDBC) : DatabaseContext, exécuter une requête SQL
  • Importer un CSV par code : filtre CSV, séparateur, encodage, lignes à ignorer
  • Exporter en PDF programmatiquement : storeToURL avec filtre PDF, options (pages, protection)
  • Lire et écrire un fichier texte (open, print #, close) et un fichier JSON simple
  • Appeler une commande shell externe (Shell) et gérer le retour
  • Sécurité : signature numérique des macros (Outils > Macros > Signature) et niveau de sécurité (Outils > Options > Sécurité)
Mise en pratique : Écrire une macro qui, à partir d'une base RH Calc, génère 15 attestations Writer nominatives et les enregistre en PDF dans un dossier daté.
Livrable : Workflow complet « Generer_Attestations » avec code et 15 PDF de test.


5

Publication, sécurité et interopérabilité Excel VBA

Duree : 4h
Objectif operationnel : Partager, sécuriser et maintenir ses macros, et anticiper les points de vigilance sur les fichiers Excel avec VBA.
Contenu :
  • Organiser sa bibliothèque : nommage cohérent, un module par fonction métier, documentation en tête de module
  • Exporter une bibliothèque : Outils > Macros > Organiser les bibliothèques > Exporter — package .obl transférable
  • Bibliothèque partagée en réseau : chemin UNC, droits d'accès, gouvernance
  • Niveaux de sécurité Calc : très élevé (macros signées uniquement), élevé, moyen, faible — impact sur l'ouverture
  • Signature numérique de la bibliothèque : générer un certificat, l'appliquer, valider chez les utilisateurs
  • Interopérabilité avec Excel VBA : ce qui passe (structure Sub / End Sub, MsgBox, boucles basiques), ce qui ne passe pas (objet Range vs Cells, EventProc, ActiveX Excel)
  • Table de correspondance VBA ↔ Basic : ThisWorkbook / ThisComponent, Worksheets / Sheets, Cells / getCellByPosition — pièges classiques
  • Import / export d'un classeur avec macros : format .xlsm vs .ods+lib — bonnes pratiques
Mise en pratique : Chaque stagiaire finalise et documente une bibliothèque personnelle contenant les 3 macros produites dans les modules précédents, la signe et l'exporte au format .obl.
Livrable : Bibliothèque `.obl` signée et prête à être diffusée dans l'organisation + guide utilisateur (1 page).
Objectifs pédagogiques
  • Enregistrer, lire et nettoyer une macro dans l'IDE LibreOffice Basic
  • Écrire du code Basic pour manipuler feuilles, cellules, plages et propriétés (contenu, format, style)
  • Créer des boîtes de dialogue simples (formulaires) pour interagir avec l'utilisateur
  • Interconnecter Calc avec Writer (publipostage programmatique), Base (import SQL) et le système de fichiers
  • Publier, sécuriser et documenter ses macros dans une bibliothèque partageable
  • Identifier les équivalences et les limites d'interopérabilité entre LibreOffice Basic et Excel VBA

Utilisateurs avancés de Calc (ou d'Excel VBA) souhaitant industrialiser leurs tâches récurrentes : contrôleurs de gestion, chefs de projet, chargés d'études, développeurs métier, agents de la fonction publique en charge de reportings récurrents.

Maîtriser Calc au niveau Perfectionnement : formules avancées, pilotes de données, mise en forme conditionnelle, styles. Une expérience VBA sur Excel est un plus, non obligatoire — la formation aborde les correspondances. Un test de positionnement (20 min) est adressé avant la formation.

Prix par participant

1 490€ HT
3 jours de formation (21h)
Présentiel/Distanciel
Certification incluse
Supports de cours fournis

Financement OPCO ou France Travail possible

Organisme certifié Qualiopi

Garantie qualité et éligibilité aux financements publics

Programme de formation

Télécharger le PDF

Formation intra-entreprise

Aucune session ne vous convient ? Cette formation est également disponible en intra-entreprise, sur mesure et dans vos locaux.

Prêt à vous former ?

Nos conseillers vous accompagnent dans le choix de votre financement et la mise en place de votre formation.