Excel Mania

Libreoffice basic : premiers pas avec le langage de macros intégré

Libreoffice basic : premiers pas avec le langage de macros intégré

Libreoffice basic : premiers pas avec le langage de macros intégré

Pourquoi parler de LibreOffice Basic sur un blog consacré à Excel ?

Vous êtes sans doute venu(e) sur ExcelMania pour maîtriser Excel dans ses moindres détails… alors pourquoi s’attarder sur LibreOffice Basic ? Parce que derrière ce nom parfois perçu comme une alternative « gratuite » se cache une véritable boîte à outils pour les passionnés de productivité et d’automatisation.

LibreOffice Basic, c’est le langage de macros intégré à la suite bureautique LibreOffice. Il joue le même rôle que VBA sous Excel, mais avec son propre style et certaines particularités. Alors si vous êtes curieux de découvrir comment vous pourriez, vous aussi, automatiser vos tâches et booster votre efficacité dans LibreOffice, cet article est fait pour vous.

Et qui sait, peut-être que demain, vous serez le héros du bureau en ayant automatisé le reporting hebdomadaire de votre collègue… sur LibreOffice Calc !

LibreOffice Basic, kesako ?

LibreOffice Basic, parfois appelé StarBasic, est le langage de programmation utilisé pour écrire des macros dans LibreOffice. Il ressemble énormément à VBA (Visual Basic for Applications), mais il existe suffisamment de différences pour justifier que l’on prenne le temps de bien en cerner les contours.

Bonne nouvelle : si vous avez déjà mis les mains dans le code avec Excel VBA, vous ne serez pas totalement dépaysé. Et si c’est votre première fois ? Pas de panique. On va prendre ça étape par étape, dans la bonne humeur, comme toujours sur ExcelMania.

Comment accéder à l’éditeur de macros dans LibreOffice ?

Avant d’écrire la moindre ligne de code, encore faut-il savoir où cliquer. Voici comment accéder rapidement à l’éditeur de macros dans LibreOffice :

Vous voilà face à l’éditeur ! Il n’est pas aussi puissant que l’Éditeur VBA d’Excel, mais il fait le job. La fenêtre est divisée entre l’arborescence à gauche et l’éditeur de code à droite.

Écrire votre toute première macro avec LibreOffice Basic

Commençons simple. Voici une macro minimaliste qui affiche une boîte de dialogue (oui, comme la célèbre MsgBox en VBA) :

Sub BonjourLeMonde    MsgBox "Bonjour le monde depuis LibreOffice Basic !"End Sub

Copiez-collez ce code dans l’éditeur, cliquez sur la petite icône verte en haut (ou appuyez sur la touche F5), et admirez le résultat. Une boîte de message apparaît. Simple, propre, efficace.

Ce type de macro peut paraître rudimentaire, mais c’est par là qu’on commence avant de faire des choses plus costaudes. Comme manipuler des cellules, interagir avec l’utilisateur ou automatiser des calculs.

Les bases du langage : ce que vous devez savoir

LibreOffice Basic, comme VBA, repose sur les mêmes grands principes de programmation. Voici les bases que vous allez utiliser très souvent :

Petit exemple avec une boucle For :

Sub CompterJusquaDix    Dim i As Integer    For i = 1 To 10        MsgBox "Compteur : " & i    Next iEnd Sub

Pas idéal si vous êtes pressé, mais ça montre bien le mécanisme. Et avec un petit MsgBox, tout passe mieux.

Manipuler une feuille LibreOffice Calc

Maintenant, entrons dans le vif du sujet : comment manipuler des données dans Calc comme vous le feriez dans une feuille Excel ? Voici un exemple tout simple pour écrire dans la cellule A1 :

Sub EcrireDansA1    Dim oDoc As Object    Dim oFeuille As Object    oDoc = ThisComponent    oFeuille = oDoc.Sheets(0)    oFeuille.getCellByPosition(0, 0).String = "Hello LibreOffice!"End Sub

Quelques remarques importantes ici :

Un peu différent d’Excel VBA, où l’on utilise souvent Range("A1"), mais on s’y fait vite.

Créer une fonction personnalisée (User Defined Function)

Ah, les fameuses UDF (User Defined Functions). Sous Excel, elles sont formidables. Mais saviez-vous que vous pouvez aussi créer vos propres fonctions dans LibreOffice Calc ? Voici un exemple simple :

Function AjouterDeuxNombres(a As Double, b As Double) As Double    AjouterDeuxNombres = a + bEnd Function

Une fois cette fonction créée, vous pourrez l’utiliser dans une cellule comme ceci :

=AjouterDeuxNombres(5; 7)

Et hop, 12 en un clin d’œil. Pratique pour créer vos propres règles métier ou automatiser des calculs complexes.

Attention aux différences avec VBA

Avant de vous lancer tête baissée en vous disant « c’est juste du VBA avec un autre nom », voici quelques différences importantes à garder en tête :

Mais n’oubliez pas : une fois qu’on a compris la logique des objets UNO (Universal Network Objects, le cœur d’OpenOffice/LibreOffice), tout devient possible.

Et entre nous : vous avez survécu à Power Query, vous survivrez à LibreOffice Basic 😉

Dépannage rapide : erreurs fréquentes

Voici quelques-unes des erreurs les plus fréquemment rencontrées par les débutants, et comment les éviter :

Et tant qu’à faire : sauvegardez votre fichier avant de tester une macro. LibreOffice est robuste, mais ce serait dommage de perdre vos données à cause d’un MsgBox rebelle.

Aller plus loin : des ressources utiles

Si vous souhaitez approfondir vos connaissances, voici quelques liens utiles à bookmarker :

Et bien sûr, n’oubliez pas de repasser régulièrement sur ExcelMania.fr pour trouver d’autres astuces, que ce soit sur Excel, VBA, ou sur les outils cousins du monde Libre !

À très vite pour de nouvelles découvertes numériques… et si vous avez codé votre première macro LibreOffice, venez me le raconter en commentaire ! 🎉

Quitter la version mobile