Salut The_Gritch, The Forum
Heu non, je ne pense pas qu'un tel programme existe, ceci dit il suffit de l'écrire.
Disons qu'une macro de base pourrait déjà se présenter comme ceci pour convertir le fichier :
Exemple 1
Ce code sauverait une copie du le classeur actif (Toto.xls) avec une extension de nom (Toto Version XL 97.xls)
Sub SaveAsXL97()
Dim NomFile As String
NomFile = ActiveWorkbook.Name & " Version XL 97"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\mes documents\" & NomFile, FileFormat:=xlExcel9795
Application.DisplayAlerts = True
End Sub
Exemple 2
Si on ne veut pas de copie mais écraser le fichier format 2000 en 97, il suffit alors de faire un code comme ceci : (pour peu que le classeur d'origine se trouve bien dans le répertoire spécifié "C:\mes documents\")
Sub SaveXL97()
Dim NomFile As String
NomFile = ActiveWorkbook.Name
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:="C:\mes documents\" & NomFile, FileFormat:=xlExcel9795
Application.DisplayAlerts = True
ActiveWorkbook.Close False 'necessaire pour la macro "Mass_MAJ_XL97"
End Sub
Ensuite si tous les classeurs sont dans un répertoire précis on pourrait faire tourner ceci :
Sub Mass_MAJ_XL97()
Dim LeFichier As Variant
With Application.FileSearch
.NewSearch
.LookIn = "C:\mes documents\"
.Execute
On Error Resume Next
For Each LeFichier In .FoundFiles
Workbooks.Open LeFichier
SaveASXL97 'ou SaveXL97 selon le choix
Next F
End With
Voilà, mais attention, comme dans toute MAJ en masse de documents par Macro te faire un BackUp complet du répertoire à traiter avant tout essaie !!!
Bon Appétit et bon travail !
@+Thierry