Compatibilité Excel/Calc - incrémentation automatique
Bonsoir,
J'ai réalisé dans un premier temps un fichier sur Excel avec des lignes données dont la 1ère colonne commence par un code qui s'auto-incrémente avec l'aide d'un habitué du forum. Seulement, des utilisateurs du fichier vont l'employer avec Libre Office Calc. J'ai donc activé les macros sur Calc et lors de la sélection du code dans la 1ère colonne, seuls les 3 lettres du code apparaissent mais il ne s'incrémente pas (voir image ci-dessous).
Y a-t-il une manip à réaliser afin que le code s’exécute? Voici le code en question :
REM ***** BASIC *****
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strCode As String
On Error GoTo errHandler
If Not Intersect(Target, Range("T_Données").Columns(1)) Is Nothing And Target.Count = 1 Then
If Not IsEmpty(Target) Then
strCode = Target.Value & Format(WorksheetFunction.CountIf(Range("T_Données").Columns(1), Target.Value & "*"), "000")
Application.EnableEvents = False
Target.Value = strCode
Range("T_Données").ListObject.ListRows.Add
End If
End If
exitHandler:
Application.EnableEvents = True
Exit Sub
errHandler:
msgbox "Erreur : " & Err.Number & Chr(10) & Err.Description
Resume exitHandler
End Sub
Bonjour,
Les macros Excel VBA ne sont que très partiellement compatibles avec le Basic de Libre office.
Par exemple l'objet ListObject n'existe sous Libre Office.
Tu ne pourra donc pas utiliser ce fichier avec Libre Office si tu conserves un tableau structuré dans Excel.
A ce jour je ne connais pas de cas où un fichier Excel avec macro peut être utilisé indifféremment sur Excel et Libre Office sans poser aucun problème. Lors de l'enregistrement avec Libre Office, il est très courant que le fichier soit corrompu (vis à vis d'Excel) et donc pose des problèmes ultérieurs sous Excel.
Il est nettement préférable de prévoir 2 fichiers différents et d'utiliser le Basic LO dans Calc.