Convertir langage VBA Excel en libre office

Bonjour,

Une idée de comment traduire ce langage VBA (Excel) pour qu’il soit compatible avec Libre Office ?
J’ai un message d’erreur au niveau du FormulaLocal
’ ETAPE 3 : ajouter les donn?es dans Suivi_Nespresso
With Sheets(« Suivi_Nespresso »)
.Activate
DerLigne = Range(« A » & Rows.Count).End(xlUp).Row
’ Qualit? carton
.Range(« F7 »).FormulaLocal = « =SIERREUR(RECHERCHEV( »"""&B7;Extraction_AS400!$A$2:$Z$500000;17;FAUX);"""")"
.Range(« F7 »).AutoFill .Range(« F7:F » & DerLigne)
’ Grammage
.Range(« G7 »).FormulaLocal = « =SIERREUR(RECHERCHEV( »"""&B7;Extraction_AS400!$A$2:$Z$500000;16;FAUX);"""")"
.Range(« G7 »).AutoFill .Range(« G7:G » & DerLigne)
’ Format
.Range(« H7 »).FormulaLocal = « =SIERREUR(RECHERCHEV(D7;Donn?es!$B$3:$C$12;2;FAUX); »""")"
.Range(« H7 »).AutoFill .Range(« H7:H » & DerLigne)
’ Couleurs RECTO
.Range(« I7 »).FormulaLocal = « =SIERREUR(RECHERCHEV( »"""&B7;Extraction_AS400!$A$2:$Z$500000;7;FAUX);"""")"
.Range(« I7 »).AutoFill .Range(« I7:I » & DerLigne)
’ Vernis RECTO
.Range(« J7 »).FormulaLocal = « =SIERREUR(RECHERCHEV( »"""&B7;Extraction_AS400!$A$2:$Z$500000;9;FAUX);"""")"
.Range(« J7 »).AutoFill .Range(« J7:J » & DerLigne)
’ remplacement des formules par les valeurs
Columns(« F:J »).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End With
End Sub

Merci pour votre aide.

Bonjour
Je viens de tester toutes tes lignes de code FormulaLocal
Aucun message d’erreur pendant l’exécution de ces lignes
Dans toutes les cellules concernées j’ai les formules

Quel est ce message ?

Bonjour,
Merci pour votre retour.
Le message est le suivant : erreur d’exécution BASIC. ‘423’ FormulaLocal.

Moi je n’ai pas ce message
Cela doit venir de ton classeur mais sans l’avoir je ne peux porter un diagnostique

Tu peux me le transmettre avec son code VBA mais sans données confidentielles

Je te transmets l’essai que j’ai réalisé avec seulement les lignes de code concernant l’instruction FormulaLocal

Cliques sur le bouton traitement voir si tu as ce message
Donnes moi le résultat
Si tu peux donnes moi ton fichier que je l’essaie

Classeur1.xlsm (19,2 Ko)

Bonjour FFO,

Peut être que ça vient de la déclaration des variables, sous Libre Office c’est un peu différent non ?
Voici le fichier avec la macro complète.Suivi_Production_Nespresso.xlsm (34,7 Ko)

J’ai simplifié au max pour respecter la limite du téléchargement.

Je vous remercie ! :slight_smile:

Bonjour

Avec ton fichier que tu m’as transmis la macro pour moi se déroule sans erreur
Maintenant je ne connais pas Libre Office
Je n’ai pas cette application donc peux difficilement tester et analyser dans cette environnement
Il faudrait fouiner sur internet pour connaitre les adaptations à réaliser
Difficile pour moi d’aller plus loin sans connaissance et application Libre Office

Désolé

Bonjour,

La compatibilité des macros VBA avec Libre Office est très très limitée.
Elle ne fonctionne que pour des macros très simples et c’est déjà très bien d’accepter cette petite partie : la réciproque n’existe pas.
Libre Office utilises le Basic de Libre Office qui est très différent du VBA de Microsoft.

A ce jour, je n’ai jamais réussi à faire fonctionner toutes les macros VBA d’un fichier avec Libre Office : je les ré-écris entièrement en Basic Libre Office dans un odt.

Bonjour,
Merci pour votre réponse. Et pour coder une formule il y’a un langage spécifique propre à libre office ?

Re,

Le langage est spécifique, voir :
Aide LibreOffice Basic et
LibreOffice: Class Index