"FileDialog inconnu" dans macro calc pour renommer fichiers

Bonjour,
J’utilise “Window 10 Education version 22H2 installé le 26/06/2024”.
Je voudrais renommer de nombreux fichiers (nommés “compta25_societeA_fichierX” à renommer en “fichierX”).
Dans Calc > Outils > Macros > Editer, j’ai fait un copier/coller des macros fournis pour Excel par ce tuto (c’est exactement ce qui m’intéresse) : Renommer fichiers excel
Mais quand je fais Calc > Outils > Macros > Gérer > Basic puis exécuter, j’obtiens "Erreur de syntaxe BASIC. Type de données FileDialog inconnu."
Je n’y connais rien en informatique, j’ai entendu parler de librairies à préciser, ou de paramètres à ajuster. Ou est-ce une autre commande similaire à utiliser dans calc au lieu de celle-ci pour Excel ?
Que dois-je faire pour que cette macro s’exécute ?
Help, merci !
PS : J’ai cherché la version LibreOffice, j’ai la version 25.8.3.2 (X86_64), il y a aussi des références de Compilation, Environnement, Interface utilisateur, de quoi avez-vous besoin ?
PS2 : j’ai enregistré mon ficher au format .xlsm

PS3 : voici la macro concernée

Sub ListerFichiers()
    Dim dossier As String
    Dim fichier As String
    Dim ligne As Long
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    If fd.Show = -1 Then
        dossier = fd.SelectedItems(1) & "\"
    Else
        Exit Sub
    End If
    fichier = Dir(dossier & "*.*")
    ligne = 2
    Do While fichier <> ""
        Cells(ligne, 1).Value = fichier
        ligne = ligne + 1
        fichier = Dir
    Loop
End Sub

Les macros pour excel ne foncionent pas sur LibreOffice.
Le VBA employe en Microsoft est different the le Basic employé par LibreOffice

Prise en charge des macros VBA :wink:
(Compatibilidad con macros en VBA)

en anglais (avec un peu de troll) mais pas trop compliqué : Looking for a way to get Windows file picker to use? - #5 by sokol92

.xlsX ?


en tout cas, LO n’est pas réputé très stable pour les formats non ODF.


un tableur n’est pas spécialement le meilleur outil …
Rename-Item (Microsoft.PowerShell.Management) - PowerShell | Microsoft Learn

Merci pour vos retours !

  • j’ai essayé de mettre “FilePicker” à la place de “FileDialog”, message d’erreur similaire (je n’ai même pas cherché si après il fallait changer le msoFileDialogFolderPicker),
  • j’ai pris “.xlsm”, il n’y a pas dans mon Calc la possibilité du format “.xlsxm”,
  • je viens de tester le format .xlsX, avec FilePicker et FileDialog, toujours le même blocage,
  • j’ai regardé le lien “Rename-Item”, et je suis toujours coincée : cela ressemble à une commande DOS, je ne sais même pas où la saisir dans cet environnement windows ni comment l’écrire exactement …
  • j’ai aussi regardé le lien “Travailler avec des macros VBA”, je confirme que toutes les cases sont cochées dans Outils > Options > Chargement/enregistrement > Propriétés VBA

Le tableur n’est peut-être pas le meilleur outil, mais récupérer dans une colonne les noms actuels et mettre dans une deuxième colonne les futurs c’est exactement mon besoin, c’est simple, ce serait top. J’ai simplifié mon cas, en réalité je voudrais remplacer image1 par titi, image2 par toutou, image3 par tomate, c’est-à-dire des nouveaux noms non incrémental sans cliquer sur chaque fichier dans le répertoire ; si c’est possible avec LibreOffice cela m’intéresse beaucoup.

Est-il possible d’utiliser un format .ods,et avec une commande BASIC qui fait la même chose que la commande VBA “FileDialog” ?

Lister les sous-dossiers et fichiers d'un dossier
Get A List Of File Names From A Folder And All Subfolders - #9 by JohnSUN
How to get file names from a folder

Installer PowerShell sur Windows - PowerShell | Microsoft Learn

Salut
Sinon si c’est juste pour renommer des fichier, tu peux utiliser Ant Renamer, un logiciel libre (sous licence GNU GPL) que j’utilise regulierement et qui fait tres bien le taf : www.antp.be.

Pas besoin d’avoir recours à un langage tiers, StarBasic dispose de la commande Name
https://help.libreoffice.org/25.8/en-US/text/sbasic/shared/03020412.html?DbPAR=BASIC