Const nomfichier$ = "test_info.txt" 'en minuscules par sécurité
Dim modif$, fso As Object 'mémorise les variables
Sub Dossiers()
Dim sf1 As Object, sf2 As Object, sf3 As Object, sf4 As Object, sf5 As Object
modif = [B1] 'à adapter
Set fso = CreateObject("Scripting.FileSystemObject")
Fichiers fso.GetFolder(ThisWorkbook.Path) 'niveau 0
For Each sf1 In fso.GetFolder(ThisWorkbook.Path).subfolders
Fichiers sf1 'niveau 1
For Each sf2 In fso.GetFolder(sf1.Path).subfolders
Fichiers sf2 'niveau 2
For Each sf3 In fso.GetFolder(sf2.Path).subfolders
Fichiers sf3 'niveau 3
For Each sf4 In fso.GetFolder(sf3.Path).subfolders
Fichiers sf4 'niveau 4
For Each sf5 In fso.GetFolder(sf4.Path).subfolders
Fichiers sf5 'niveau 5
Next sf5, sf4, sf3, sf2, sf1
Set fso = Nothing
End Sub
Sub Fichiers(sf As Object)
Dim f As Object, n&, a$(), p%
For Each f In fso.GetFolder(sf.Path).Files
If LCase(f.Name) = nomfichier Then 'minuscules
Open f.Path For Input As #1 '1ère ouverture
n = 0
While Not EOF(1) 'EndOfFile: fin du fichier
n = n + 1
ReDim Preserve a(1 To n)
Line Input #1, a(n)
p = InStr(a(n), "FM")
If p Then a(n) = Left(a(n), p - 1) & modif
Wend
Close #1 '1ère fermeture
Open f.Path For Output As #1 '2ème ouverture
Print #1, Join(a, vbCrLf)
Close #1 '2ème fermeture
End If
Next
End Sub