Bonjour,
ayant récemment basculé sur Libre Office, je m’aperçois que les Macros d’un de mes fichiers Excel provoquent un message d’erreur sur Libre Office :
“Erreur de syntaxe BASIC.
Bloc d’instructions toujours ouvert : End If manquant.”
Je n’y connait absolument rien en Macros et suis incapable de savoir où manque le End If.
Ci-dessous le code en question, avez-vous une idée ? Merci
Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Option Explicit
Function nettoie(t$)
Dim i%, j%
t = Replace(t, " ", “”)
’ t = Replace(t, “—”, “”): t = Replace(t, “,”, “”): t = Replace(t, “.”, “”): t = Replace(t, “?”, “”): t = Replace(t, “!”, “”)
If Len(Replace(t, “(”, “”)) = Len(Replace(t, “)”, “”)) And (Not (t Like “(())") Or (t Like "()()”)) And (InStr(t & “()”, “(”) < InStr(t & “()”, “)”)) Then
'S’il y a autant de “(” que de “)” et qu’il n’y a pas de parenthèses emboîtées et que “)” ne précède pas le premier “(” alors…
For i = 1 To Len(t)
If Mid$(t, i, 1) = “(” Then: Do: i = i + 1: Loop While Mid$(t, i, 1) <> “)”: Else j = j + 1
Next
nettoie = j
Else
nettoie = “???”
End If
End Function
Function dure#(t$)
dure = nettoie(t) * 0.075
End Function
