Re,

suite aux réponses de Pierre-Yves et Michel qui m'ont bien aidé, voici
le résultat qui fonctionne, si ça peut aider :

8< -----------------------------------------------

'CSV_To_ODS
'macro d'importation de fichiers NRB au format CSV vers le format ODS
'à installer dans Mes Macros, bibliothèque CSVlib, module NRBimport

Option Explicit

Sub CSV_To_ODS(ByVal pCSVFileName, pODSFileName As String)

Dim l_PropsIn(1) As New com.sun.star.beans.PropertyValue
Dim l_PropsOut()
Dim l_CSVAdr As String  'le nom du fichier converti en URL
Dim l_ODSAdr As String  'le nom du fichier ODS cible, en URL
Dim oODSdoc As Object   'le classeur à créer
Dim l_SepOpt As String
Dim l_CharSep As String
Dim l_CharType As String
Dim l_ColProps As String
Dim l_Line As String

'conversion des noms des fichiers
l_CSVAdr = ConvertToURL(Trim(pCSVFileName))
l_ODSAdr = ConvertToURL(Trim(pODSFileName))

'paramètres d'importation
l_PropsIn(0).Name  = "FilterName"
l_PropsIn(0).Value = "Text - txt - csv (StarCalc)"
l_PropsIn(1).Name  = "FilterOptions"

'colonnes :
L,Fichier,Page,Struct,Matricule,Nom,Prenom,ZL,CodeErreur,Libelle,ZoneLibre,Pole,Equipe
'numéro   : 1    2      3     4       5      6     7    8     9
10       11      12    13
'type     : 1    2      1     2       2      2     2    2     2
2        2       2     2
l_ColProps = "1/1/2/2/3/1/4/2/5/2/6/2/7/2/8/2/9/2/10/2/11/2/12/2/13/2"
l_SepOpt   = "44" 'code ascii du séparateur de colonnes (virgule)
l_CharSep  = ""   'code ascii du délimiteur de texte (aucun)
l_CharType = "22" 'jeu de caractères (ISO-8859-15/EURO)
l_Line     = "1"  'ligne de départ de l'import
l_PropsIn(1).Value = l_SepOpt & "," & l_CharSep & "," & l_CharType & ","
& l_Line & "," & l_ColProps

'importation
oODSdoc = StarDesktop.loadComponentFromURL(l_CSVAdr, "_blank", 0,
l_PropsIn())
'enregistrement
oODSdoc.storeAsURL(l_ODSAdr, l_PropsOut())
oODSdoc.close(True)
End Sub 'CSV_To_ODS

----------------------------------------------- >8

La ligne de commande Windows shell pour appeler cette macro est :

"%programfiles%\libreoffice 4\program\soffice.exe" --headless
"macro:///CSVlib.NRBimport.CSV_To_ODS(F:\CSRH_DTE\CSV2ODS\NRBresult.csv,F:\CSRH_DTE\CSV2ODS\NRB_test.ods)"


Amicalement,
-- 
Jean-Francois Nifenecker, Bordeaux

-- 
Envoyez un mail à [email protected] pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à