Tech
XLDnaute Junior
Bonjour chers amis du forum,
Cela fait bien longtemps que je ne suis pas passé par ici.
Eh oui, la vie (qui n'est pas toujours drôle) fait qu'on doit s'éloigner de nos passions et des choses qu'on aime faire pour différentes raisons. Pour moi, c'est une maladie de m... je reste poli. Elle porte l'acronyme sep pour ceux qui connaissent.
Quoi qu'il en soit, je suis fortement diminué maintenant à cause de cette s......
mais bon revenons à nos moutons.
Comme énoncé dans le titre, je cherche à créer un automatisme pour remplacer les caractères interdits par une appli de synchro.
les fichiers sont des mp3 ou des flac.
ne connaissant (vaguement) que le VBA, je me suis tourné vers ce langage.
après qlqes recherches sur le net, j'ai fini par trouver ceci que j'ai légèrement adapté :
Sub test()
Dim Fso As Object, MonRepertoire As String
Dim f1 As Object, f2 As Object, strf2 As String
Set Fso = CreateObject("Scripting.FileSystemObject")
MonRepertoire = "T:\"
For Each f1 In Fso.GetFolder(MonRepertoire).SubFolders
For Each f2 In f1.Files
strf2 = f2
If InStr(strf2, "é") <> 0 Then
strf2 = Replace(strf2, "é", "e")
f2.Name = strf2
End If
Next f2
Next f1
End Sub
En fait, ça à l'air de fonctionner mais presque...
Ce code renvoie une erreur à la ligne f2.Name = strf2.
Apparemment on ne peut pas écrire sur la propriété .name d'un objet. Je croyais pourtant cela possible.
Je me doute que c'est un sujet déjà abordé sur ce forum, mais avec la fonction de recherche, je n'ai rien trouvé.
quelqu'un aurait il une explication ?
Cela fait bien longtemps que je ne suis pas passé par ici.
Eh oui, la vie (qui n'est pas toujours drôle) fait qu'on doit s'éloigner de nos passions et des choses qu'on aime faire pour différentes raisons. Pour moi, c'est une maladie de m... je reste poli. Elle porte l'acronyme sep pour ceux qui connaissent.
Quoi qu'il en soit, je suis fortement diminué maintenant à cause de cette s......
mais bon revenons à nos moutons.
Comme énoncé dans le titre, je cherche à créer un automatisme pour remplacer les caractères interdits par une appli de synchro.
les fichiers sont des mp3 ou des flac.
ne connaissant (vaguement) que le VBA, je me suis tourné vers ce langage.
après qlqes recherches sur le net, j'ai fini par trouver ceci que j'ai légèrement adapté :
Sub test()
Dim Fso As Object, MonRepertoire As String
Dim f1 As Object, f2 As Object, strf2 As String
Set Fso = CreateObject("Scripting.FileSystemObject")
MonRepertoire = "T:\"
For Each f1 In Fso.GetFolder(MonRepertoire).SubFolders
For Each f2 In f1.Files
strf2 = f2
If InStr(strf2, "é") <> 0 Then
strf2 = Replace(strf2, "é", "e")
f2.Name = strf2
End If
Next f2
Next f1
End Sub
En fait, ça à l'air de fonctionner mais presque...
Ce code renvoie une erreur à la ligne f2.Name = strf2.
Apparemment on ne peut pas écrire sur la propriété .name d'un objet. Je croyais pourtant cela possible.
Je me doute que c'est un sujet déjà abordé sur ce forum, mais avec la fonction de recherche, je n'ai rien trouvé.
quelqu'un aurait il une explication ?