Faire une Macro

Résolu
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   -  
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Pourrais ton me donner la marche à suivre pas à pas pour mettre un code Basic libreOffice Calc (que je possède déjà) de façon à ce que ce code (macro) s'exécute automatiquement.
Pardonnez moi si je n'utilise pas le bon jargon...

Merci pour votre aide

A voir également:

4 réponses

shunesburg69 Messages postés 1057 Date d'inscription   Statut Membre Dernière intervention   216
 
Pour créer une macro:
- Outils > Macros > Gérer les macros > LibreOffice Basic
- Tu cliques sur la dernière icône qui est suivi du nom de ton fichier
- Sur la droite tu cliques sur le bouton "Nouveau"
- Tu donnes un nom à la macro
- Une fenêtre va s'ouvrir et c'est dedans que tu dois copier le code, entre "Sub Main" et "End Sub".

Comme LibreOffice, Apache OpenOffice est un fork d'OpenOffice.org
0
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   15
 
Bonsoir et merci beaucoup pour ta réponse. Je reviens demain après avoir fais les essais.
Merci encore et bonne soirée...
0
shunesburg69 Messages postés 1057 Date d'inscription   Statut Membre Dernière intervention   216
 
De rien.
0
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   15
 
Bonjour à toutes et tous,

J'ai fait la manip, mais cela ne fonctionne pas.
Je m'explique:

1) Mon code est du VBA (venant d'Excel), ce qui explique que cela ne fonctionne pas, forcément !!!
2) Lors de l'enregistrement de mon fichier Excel au format ODS, il à importé ma macro VBA.

Résultat:
1) Comment fait-on pour supprimer l'ancienne macro ?
2) Comment modifier mon code VBA au Basic LibreOffice ?

Pour info, le voilà:
ption Explicit
Private Sub Workbook_Open()
Range("E12") = Range("E12") + 1
ActiveWorkbook.Save
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Chemin As String, Numéro_facture As Integer

Chemin = ActiveWorkbook.Path
Numéro_facture = Range("E12")
Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:= _
Chemin & "/home/syl/Factures " & Numéro_facture & ".xlsx", FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

End Sub


Encore mil merci pour votre aide ;-)
0
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   15
 
Oups..., le O a été zappé (Option Explicit).

Cette macro permet de :
A l'ouverture du fichier, il y a incrémentation de cellule E12 de +1
A la fermeture du fichier, il y a création d'un fichier (au même endroit) d'un fichier portant le nom de FactureX.xlsx
X représente le numéro incrémenté.
Il n'y a pas de demande d'enregistrement du fichier d'origine à la fermeture.

Je souhaite qu'à la fermeture du fichier, il y ai création d'un nouveau fichier mais non plus en xlsx, mais en ods, puisque je n'utiliserai plus Excel.

MERCIIIIIIIIIIIIIIIII
0
shunesburg69 Messages postés 1057 Date d'inscription   Statut Membre Dernière intervention   216 > valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention  
 
Normal que ça ne fonctionne pas, LibreOffice utilise l'Open Basic et Excel le VBA.
Ça fonctionne parfois mais car le code est similaire mais certaines fonctions sont différentes. Le mieux c'est de voir avec des développeurs, regarde du côté du site https://www.developpez.net/forums/
0
valttt Messages postés 299 Date d'inscription   Statut Membre Dernière intervention   15
 
Merci pour ton aide et tes conseils ;-)
0