[Résolu][Calc] Importer plusieurs fichiers .txt

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

[Résolu][Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour à tous,

Je me tourne vers vous car je suis un peu bloqué sur la demande d'un client, voici le contexte :
  • - Je reçois régulièrement un dossier contenant 200 à 5 000 fichiers .txt (qui ne sont pas des csv avec une extension .txt), cela n'est pas modifiable. Parfois, le nombre de fichiers peut monter jusqu'à 15/20 000 (mais c'est rare). Ces fichiers s'appellent tirage1.txt, tirage2.txt, etc. ;
    - J'ai besoin d'importer le contenu de chaque fichier .txt dans une cellule d'un fichier .ods (tirage1.txt dans A1, tirage2 dans A2, etc., tout sur la même feuille). Je ne peux pas faire autrement car mon client a besoin d'un rendu sur tableur ;
    - Une fois le texte dans la cellule, j'y apporte quelques petites modifications avant l'envoi à mon client. Je me suis d'ailleurs essayé à la rédaction de macro pour automatiser cela (sans succès pour le moment), mais c'est un sujet pour un autre jour et un autre fil.
En PJ un exemple de dossier avec 3 fichiers .txt et le fichier .ods sur lequel je fais mes modifications :
  • - la colonne A est celle ou je souhaite importer le contenu des fichiers .txt ;
    - les colonnes B, C et D sont pré-remplies ;
    - les colonnes E, F et G sont celles que j'utilise pour mes modifications ;
    - ce fichier n'est qu'un exemple, le nombre de colonnes pré-remplies et de modifs est variable selon les projets.
J'ai utilisé cet excellent forum pour tenter de trouver une solution à mon problème, et ce qui s'en approche le plus a priori vient du fil [Résolu][Calc] Copier des fichiers .txt où luky-luke propose cette solution pour importer les fichiers dans un classeur en créant une feuille par fichier :

Code : Tout sélectionner

Sub Listerunrepertoire
Dim oDocument as object, oDossier as object, oFeuille as object
Dim LeRep as string
Dim LeFic as variant
Dim FicFilter as string, FicOpt as string
Dim FicMode as integer
Dim Valeur As Integer, i As Integer
REM==================================
REM Exploration de répertoire
REM Boucle Do Len Loop
REM Philippe Bronchard inside
REM==================================
   oDossier = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   oFeuille = ThisComponent.getCurrentController().getActiveSheet()
   with oDossier
            .DisplayDirectory = convertToUrl("/home/luky-luke/Bureau/MACRO/mesmes/import txt")
          '  .DisplayDirectory = convertToUrl("C:\Users\Laaziri\Desktop\cem\RIM\S52_2011\txt.txt")
    End With
   Valeur = oDossier.Execute()
REM== si il y un choix on convertit l'URL
   If Valeur = 1 Then '
REM== On pioche un à un les fichiers dans le dossier
   LeRep = ConvertFromUrl(oDossier.getDirectory()) 'on convertit l'URL      
REM== Fabrication du nom de fichier
   LeFic = dir((LeRep)&"/",0)   
REM== Blocage de l'affichage
'oFeuille.LockController
REM==================================================================================
REM== Début de la boucle sur les fichiers
REM== Et construction de feuilles incrémenter avec Nom du fichier
REM== Pierre-Yves Samyn - PYS inside pour le filtre
   i = 1
   Do
'   LeFic = dir((LeRep)&"/*.txt,0)
      If Len(LeFic) <> 0 Then
          ThisComponent.GetSheets.insertNewByName(LeFic,i)'("Feuille"&i,i)
          oFeuille = ThisComponent.sheets.getByName(LeFic)'("Feuille"&i)
          ThisComponent.CurrentController.ActiveSheet = oFeuille
         'Paramètres nécessaires à la copie
         FicFilter = "Text - txt - csv (StarCalc)"
         FicOpt = "9,,ANSI,1," 'Tab (Chr(9)) delimiter, no text delimiter, ANSI   coding
         FicMode = com.sun.star.sheet.SheetLinkMode.NORMAL

REM== Insertion de la feuille par "lien"
         oFeuille.link(LeFic, "", FicFilter, FicOpt, FicMode)
REM== Déconnection du lien
         oFeuille.setLinkSheetName("")
         oFeuille.LinkDisplayName
         oFeuille.LinkUrl=""
         oFeuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)
      
      End if   
   LeFic = Dir()                 
      i = i + 1
REM== On boucle
   Loop  While Len(LeFic) > 0
   REM== Déconnection du lien du premier fichier??
         oFeuille.setLinkSheetName("")
         oFeuille.LinkDisplayName
         oFeuille.LinkUrl=""
         oFeuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)
      
   End If
   ' oFeuille.UnlockControllers    'defreeze l'affichage
   MsgBox  "fini"
End Sub
Je l'ai essayé en modifiant simplement le chemin d'accès, et ça fonctionne bien. Je pourrais créer des formules pour concaténer toutes les lignes d'une feuille dans une cellule et obtenir le résultat souhaité (par exemple dans A1 =CONCATENER(tirage1.A1;tirage1.A2;etc.)). Cependant, avec un grand nombre de fichiers à traiter, ma machine ne va pas suivre.

De plus, les accents ne semblent pas être pris en charge :
Sans titre.jpg
Ma question, un peu large je l'admets, est donc : est-ce que l'un.e d'entre vous sait où je pourrais trouver une solution un peu moins capilotractée que ce que j'envisage pour le moment ?

Merci d'avance pour votre aide,
Bob
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par BobtheBuilder le 24 nov. 2021 09:36, modifié 1 fois.
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25203
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dude »

Salut,

Tes fichiers TXT contiennent des fins de paragraphe. L'insertion se fera donc sur autant de lignes car vue comme un CSV.

Si tu veux intégrer le contenu entier du texte, il faut créer un curseur pour la cellule.

Note qu'une cellule ne peut contenir que maximum 65.535 caractères.
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour Dude,
Dude a écrit :Si tu veux intégrer le contenu entier du texte, il faut créer un curseur pour la cellule.
Merci pour ta réponse, je ne savais pas qu'il était possible d'insérer une barre de défilement dans une cellule, c'est super pratique ! Le résultat est vraiment chouette.

D'après ton commentaire, je suspecte que je devrais me concentrer sur cette étape (insérer une barre par cellule amenée à être occupée + la lier à sa cellule) avant de penser à importer mes contenus. Une première recherche sur le forum n'a rien donné, mais je continuerai à creuser ce weekend.
Dude a écrit :Note qu'une cellule ne peut contenir que maximum 65.535 caractères.
Merci pour le rappel. Sur ce type de contenus je suis à 5,5 caractères par mot, soit une limite au-dessus des 10 000 mots, je ne les atteindrai jamais :lol:
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25203
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dude »

BobtheBuilder a écrit :De plus, les accents ne semblent pas être pris en charge :
Les fichiers sont encodés en UTF-8, il faut donc passer par le service TextInputStream

Un exemple vite fait qui colle le contenu d'un fichier TXT dans la cellule A1 :

Code : Tout sélectionner

Sub Dude
    sFic = "c:\temp\tirage1.txt"
    sTxt = LireTxt(sFic)
    oDoc = ThisComponent()
    oFeuil = oDoc.currentController.ActiveSheet
    oCell = oFeuil.getCellByPosition(0,0) 'A1
    oCell.string = sTxt
End Sub

Function LireTxt(sFic)
    oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
    sUrl = convertToURL(sFic)
    oFlux = oSFA.openFileRead(sUrl)
    dim s()
    oFlux.readBytes(s, 3)
    ' vérifier si présence BOM
    if s(2) > 0 then
        ' pas de débordement -> donc retour début
        oFlux.seek(0)
    end if
    oTIS = createUnoService("com.sun.star.io.TextInputStream")
    oTIS.setInputStream(oFlux)
    do until oTIS.isEOF()
        sContenu = sContenu & oTIS.readLine()
    loop
    oFlux.closeInput()
    LireTxt = sContenu
End function
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour à tous,

Merci Dude pour ton retour, c'est exactement ce dont j'avais besoin pour avancer !

Je tente depuis hier de modifier cette macro pour coller le contenu de chaque fichier du dossier dans les cellules de la colonne A. J'ai tenté pas mal de solutions trouvées en ligne, mais n'y connaissant pas grand chose, je ne sais si je m'approche ou si je m'éloigne de la solution quand je fais des modifications...

Voici ou j'en suis rendu :

Code : Tout sélectionner

Sub Import_fichiers
	Dim oRep as Object
	Dim sRep as String
	Dim sFic As String
	Dim oDoc as Object
	Dim oFeuil as Object
	Dim oCell as Object
	Dim Valeur as Integer
	Dim sTxt as String

	oDoc = ThisComponent()
	oFeuil = oDoc.currentController.ActiveSheet
	oRep = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   	sRep = oRep.getDirectory() & "/"
   	
	Valeur = oRep.Execute()
	sTxt = LireTxt(sFic)
		    
	If Valeur = 1 Then   sRep=ConvertFromUrl(oRep.getDirectory())
	sFic = Dir((sRep)& "*.txt",0)
	
	Do While Len(sFic) > 0
		oCell = oFeuil.getCellByPosition(0,x).string = sTxt
    	x = x + 1
	Loop

    MsgBox "Terminé !"
End Sub

Function LireTxt(sFic)
	oSFA = createUnoService("com.sun.star.ucb.SimpleFileAccess")
    sUrl = convertToURL(sFic)
    oFlux = oSFA.openFileRead(sUrl)
    dim s()
    oFlux.readBytes(s, 3)
    ' vérifier si présence BOM
    if s(2) > 0 then
        ' pas de débordement -> donc retour début
        oFlux.seek(0)
    end if
    oTIS = createUnoService("com.sun.star.io.TextInputStream")
    oTIS.setInputStream(oFlux)
    do until oTIS.isEOF()
        sContenu = sContenu & oTIS.readLine()
    loop
    oFlux.closeInput()
    LireTxt = sContenu
End function
En l'état ça ne fonctionne pas, j'ai ça :
Sans titre.jpg
Je n'ai plus d'idées pour faire fonctionner cette macro, est-ce que l'un d'entre vous aurait des conseils à me donner ? Ou simplement me dire quelles parties posent problème ?

Merci d'avance !
Bob
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 952
Inscription : 19 août 2018 05:20

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dolev »

Bonjour,
BobtheBuilder a écrit :est-ce que l'un d'entre vous aurait des conseils à me donner ? Ou simplement me dire quelles parties posent problème ?
Oui il faut fournir un classeur intégrant la macro que l'on puisse la tester.
Chez moi le code de Dude fonctionne sous OpenOffice 4.1.11 et Windows 10.
Open Office 4.1.15 sous Windows 11
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour,
Dolev a écrit :Oui il faut fournir un classeur intégrant la macro que l'on puisse la tester.
Au temps pour moi, le voici :
modif-tirage.ods
Dolev a écrit :Chez moi le code de Dude fonctionne sous OpenOffice 4.1.11 et Windows 10.
Chez moi aussi ce code fonctionne parfaitement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 952
Inscription : 19 août 2018 05:20

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dolev »

Re,


Il faut que tu débogues ton code :
Capture.PNG
La variable sFic reste vide.
Comment veux-tu que cela marche ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Open Office 4.1.15 sous Windows 11
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour,

Merci Dolev pour ton retour.

Quand je dis "je n'y connais pas grand chose", je veux vraiment dire que j'ai commencé à m'intéresser au sujet il y a 5 jours... J'ai cherché tous les exemples en ligne qui semblaient s'approcher un peu de mon problème, j'ai essayé de comprend ce qui faisait quoi et j'ai repris ce qui me semblait être utile pour l'adapter à mon cas. Tout ça pour dire que je ne comprends pas :
Dolev a écrit :La variable sFic reste vide.
Je ne sais pas ce que ça signifie, ni ce que je peux tenter pour y remédier.
En cherchant à comprendre ce que tu voulais dire par là j'ai trouvé quelques pistes intéressantes. Je me penche dessus cette semaine et je reviens vous dire si j'arrive à régler mon problème.
Dolev a écrit :Comment veux-tu que cela marche ?
Absolument aucune idée. Si tu as une suggestion de ressource (de préférence en ligne) qui permet d’appréhender le fonctionnement général des macros je te serais extrêmement reconnaissant. Pour le moment, je n'ai pas trouvé d'autre solution que de consulter un maximum de documentation et d'exemples sur le sujet et de tâtonner, sans vraiment savoir comment ça marche.
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 952
Inscription : 19 août 2018 05:20

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dolev »

BobtheBuilder a écrit :Je ne sais pas ce que ça signifie, ni ce que je peux tenter pour y remédier.
Il te faut passer un chemin de fichier à la fonction une fois que tu as récupérer ce nom comme ce que fait la macro de dude
Regarde la copie écran et sers toi du témoin pour le débug
BobtheBuilder a écrit :Si tu as une suggestion de ressource (de préférence en ligne) qui permet d’appréhender le fonctionnement général des macros
Tu peux lire les sujets mis en post-it en haut de la section Macros
Open Office 4.1.15 sous Windows 11
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour à tous,
Dolev a écrit :Il te faut passer un chemin de fichier à la fonction une fois que tu as récupérer ce nom comme ce que fait la macro de dude
Regarde la copie écran et sers toi du témoin pour le débug
Le problème c'est que si je donne le chemin d'un fichier, la macro fonctionne pour ce fichier uniquement... Le but des modifications que je tente de faire c'est d’exécuter l'action de la fonction LireTxt proposée par Dude pour tous les fichiers du dossier. Pour le moment pas de succès, mais je continue de tenter des solutions trouvées à droite à gauche.
Dolev a écrit :Tu peux lire les sujets mis en post-it en haut de la section Macros
Super conseil, merci !
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 952
Inscription : 19 août 2018 05:20

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dolev »

Bonsoir,
BobtheBuilder a écrit :pour tous les fichiers du dossier.
Je ne vois pas dans ton code, la partie qui extrait la liste des fichiers.
Peux-tu publier cette macro ?
Open Office 4.1.15 sous Windows 11
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour,
Dolev a écrit :Je ne vois pas dans ton code, la partie qui extrait la liste des fichiers.
Peux-tu publier cette macro ?
Je n'ai rien de plus pour cette version... J'ai d'autres tentatives de macro qui ne fonctionnent pas, mais celle-ci me paraissait être celle qui avait le plus de chances de s'approcher d'une solution.
Je me suis inspiré de la solution proposée par Philippe BRONCHART ici pour extraire les fichiers dans la macro que j'ai soumise. Je ne comprends pas ce qu'il manque pour que ça fonctionne.

Suite à ton message je suis allé creuser l'extraction des fichiers à l'aide de macros et j'ai trouvé ce fil qui propose des solutions intéressantes que je pourrais essayer d'adapter à mon cas.
L'extension EasyDev nécessaire pour la solution proposée par Jurassic Pork ne semble plus disponible, par contre la solution proposée par Hubert Lambert fonctionne parfaitement chez moi. Je pourrais essayer de la modifier pour extraire le contenu des fichiers plutôt que de les lister, mais je ne comprends pas quelle partie extrait la liste des fichiers et quelle partie transcrit les informations recherchées dans le tableau.

Voici le code soumis par Hubert Lambert :

Code : Tout sélectionner

dim files()

sub main
    folderpicker = createUnoService("com.sun.star.ui.dialogs.FolderPicker")
    if folderpicker.execute() = 0 then exit sub
    rep = folderpicker.Directory
    doc = thiscomponent
    sheet = doc.CurrentController.ActiveSheet
    startcol = 0
    startrow = 1
    sheet.getCellRangeByPosition(startcol, startrow, startcol+2, 5000).clearContents(31)
    listfiles(rep)
    range = sheet.getCellRangeByPosition(startcol, startrow, startcol+2, ubound(files)+startrow)
    range.setFormulaArray(files)
end sub

sub listfiles(rep)
    sfa = createUnoService("com.sun.star.ucb.SimpleFileAccess")
    content = sfa.getFolderContents(convertToUrl(rep), True)
    for each elem in content
        if sfa.isFolder(elem) then
            listfiles(elem)
        else
            D = sfa.getDateTimeModified(elem)
            datemodified = D.Day & "/" & D.Month & "/" & D.Year & " " & D.Hours & ":" & D.Minutes & ":" & D.Seconds
            x = ubound(files) +1
            redim preserve files(x)
            files(x) = array(convertFromUrl(elem), sfa.getSize(elem), datemodified)
        end if
    next elem
end sub
Et le fichier proposé
stanol69.ods
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25203
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dude »

Désolé mais de mon côté, je ne vois plus trop le rapport de ton dernier document avec le problème initial.
Que faut-il faire ?
Avatar de l’utilisateur
Jurassic Pork
PassiOOnné
PassiOOnné
Messages : 633
Inscription : 09 août 2017 22:15

Re: [Calc] Importer plusieurs fichiers .txt

Message par Jurassic Pork »

hello,
BobtheBuilder a écrit : L'extension EasyDev nécessaire pour la solution proposée par Jurassic Pork ne semble plus disponible
effectivement le lien est mort mais comme j'ai participé à ce projet j'ai tout le projet dans mon compte github.
L'extension est disponible ici (dernière version = 2.7.3)
P.S : j'ai corrigé le lien dans le forum Extensions pour la discussion : Easydev : interfaçage Basic et Python

Ami calmant, J.P
LibreOffice 7.6.2.1 et OpenOffice 4.1.15 sous windows 11
LibreOffice 24.2.0 et OpenOffice 4.1.15 sous Ubuntu 20.04
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour,
Dude a écrit :Désolé mais de mon côté, je ne vois plus trop le rapport de ton dernier document avec le problème initial.
Que faut-il faire ?
En fait j'essaie de modifier la macro que tu as proposée en début de fil. Pour le moment elle permet d'aller chercher un fichier .txt et d'importer son contenu dans la cellule A1. Le but est de pouvoir prendre tous les fichiers .txt d'un dossier et d'importer le contenu de chacun dans une cellule (A1, A2, A3, etc.). Les dossiers avec lesquels je travaille comptent généralement 200 à 5 000 fichiers.

Comme je n'ai pas réussi à faire fonctionner tout ça, j'ai publié une de mes tentatives qui me paraissait prometteuse (pas sûr de mon jugement sur ce coup) et je rebondis sur les retours que j'obtiens pour trouver une solution.
Jurassic Pork a écrit :L'extension est disponible ici (dernière version = 2.7.3)
P.S : j'ai corrigé le lien dans le forum Extensions pour la discussion : Easydev : interfaçage Basic et Python
Merci beaucoup !
LibreOffice 7.1.6 sous Windows 10
Avatar de l’utilisateur
Dolev
InconditiOOnnel
InconditiOOnnel
Messages : 952
Inscription : 19 août 2018 05:20

Re: [Calc] Importer plusieurs fichiers .txt

Message par Dolev »

Re,

Comme dit avant, il faut déboguer ton code.
Tu utilises mal la commande Dir et tu passes des variables sans les contrôler.
J'ai repris l'exemple de l'aide en ligne (F1)
Ce qui donne :

Code : Tout sélectionner

Sub Import_fichiers
   oDoc = ThisComponent()
   oFeuil = oDoc.currentController.ActiveSheet
   oRep = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   Valeur = oRep.Execute()
   If Valeur = 1 Then   sRep=ConvertFromUrl(oRep.getDirectory()&"/")
   sFic = Dir((sRep)& "*.txt",0)
   x=0
   Do
      sTxt = LireTxt(sRep & sFic)
      oCell = oFeuil.getCellByPosition(0,x)
      oCell.string = sTxt
       x = x + 1
       sFic = Dir
   Loop Until sFic = ""

    MsgBox "Terminé !"
End Sub
Open Office 4.1.15 sous Windows 11
BobtheBuilder
Fraîchement OOthentifié
Messages : 9
Inscription : 08 oct. 2021 08:59

Re: [Calc] Importer plusieurs fichiers .txt

Message par BobtheBuilder »

Bonjour à tous,
Dolev a écrit :J'ai repris l'exemple de l'aide en ligne (F1)
Ce qui donne :

Code : Tout sélectionner

Sub Import_fichiers
   oDoc = ThisComponent()
   oFeuil = oDoc.currentController.ActiveSheet
   oRep = CreateUnoService("com.sun.star.ui.dialogs.FolderPicker")
   Valeur = oRep.Execute()
   If Valeur = 1 Then   sRep=ConvertFromUrl(oRep.getDirectory()&"/")
   sFic = Dir((sRep)& "*.txt",0)
   x=0
   Do
      sTxt = LireTxt(sRep & sFic)
      oCell = oFeuil.getCellByPosition(0,x)
      oCell.string = sTxt
       x = x + 1
       sFic = Dir
   Loop Until sFic = ""

    MsgBox "Terminé !"
End Sub
Wahou, c'est absolument parfait :bravo: :bravo: :bravo:
Merci mille fois Dolev ça va me faire gagner tellement de temps !

Pas sûr d'avoir tout compris ce qui bloquait, mais je continue d'y travailler.
Merci à tous pour votre aide et bonne continuation.
LibreOffice 7.1.6 sous Windows 10