Macro d'incrémentation d'un numéro de facture

Bonjour,
A partir d'une macro en VBA pour incrémenter un numéro de facture j'ai commencé une conversion en LOBasic.
Tout fonctionne correctement sauf la dernière étape, l'insertion du résultat dans la cellule du numéro de facture.
Où est ce que je commets une erreur ?
Ci-dessous le code VBA et LOBasic

Sub Incrémenter_Facture()
     Dim num As String
     Dim i As Integer
     Range("B9:B12").ClearContents
     Range("E9:E12").ClearContents
     Range("D14").ClearContents
     num = Right(Range("C6").Value, 6) + 1
     For i = 1 To 6 - Len(num)
         num = "0" & num
     Next i
     Range("C6").Value = "FA" & " / " & CStr(Year(Date)) & "-" & num
End Sub

Sub Incrementer_Facture()
     Dim MonDocument As Object
     Dim lesFeuilles As Object
     Dim MaFeuille As Object
     Dim MaCellule As Object
     Dim laZoneUn As Object
     Dim laZoneDeux As Object
     Dim leTaux As Object
     Dim numFact As String
     Dim gomme As Long
     MonDocument = ThisComponent
     lesFeuilles = MonDocument.Sheets
     MaFeuille = lesFeuilles.getByName("facture")
     MaCellule = MaFeuille.getCellRangeByName("C2")
     laZoneUn = MaFeuille.getCellRangeByName("B6:B9")
     laZoneDeux = MaFeuille.getCellRangeByName("E6:E9")
     leTaux = MaFeuille.getCellRangeByName("D11")
     gomme = com.sun.star.sheet.CellFlags.STRING
     laZoneUn.clearContents(gomme)
     gomme = com.sun.star.sheet.CellFlags.VALUE
     laZoneDeux.clearContents(gomme)
     leTaux.clearContents(gomme)

     Dim i As Integer

     numFact = Right(MaCellule.value,6)
     numFact = numFact + 1
     For i = 1 To 6 - Len(numFact)
         numFact = "0" & numFact
     Next i

     numFact = "FA" & " / " & CStr(Year(Date)) & "-" & numFact
     msgBox numFact
'------------- écriture dans la cellule qui ne focntionne pas

Bonjour

Blanchard Michel wrote

Tout fonctionne correctement sauf la dernière étape, l'insertion du
résultat dans la cellule du numéro de facture.
Où est ce que je commets une erreur ?

Dans la dernière ligne :
     'MaCellule.Value = "FA" & " / " & CStr(Year(Date)) & "-" & numFact

Remplacer Value par String
     MaCellule.string = "FA" & " / " & CStr(Year(Date)) & "-" & numFact

LibreOffice est plus "strict" : ici c'est une chaîne de caractères que tu
entres dans la cellule. Si tu utilises Value tu obtiens zéro.

Une lecture rapide de ton code me conduit à te faire aussi vérifier ce
qui suit:

     numFact = Right(MaCellule.value,6)
     numFact = numFact + 1
     For i = 1 To 6 - Len(numFact)
         numFact = "0" & numFact
     Next i

Tu as déclaré numFact en string et tu utilises la fonction
"chaîne" RIGHT permettant d'obtenir la droite d'une chaîne.
Le résultat étant une chaîne la ligne suivante:
     numFact = numFact + 1
Fera une concaténation de chaîne. Par exemple si la cellule
contient 2 tu auras "21".
Est-ce bien ce que tu souhaites ?

Cordialement
Pierre-Yves