Bonjour
J'ai une macro au format .xlsm.
Dans cette macro j'ai un "save copy as" qui me pêrmet d'enregistrer le fichier dans un autre répertoire au format .xlsx.
Le problème est que le fichier enregistré ne s'ouvre pas car excel me dit qu'il n'est pas au bon format.
Voici la macro :
SaveAs copy le classeur sous un autre nom (éventuellement un autre format), ferme le classeur d'origine et conserve ouvert le nouveau classeur.
dans la macro ci-dessous:
1 - Enregistrement du classeur d'origine (qui contientla macro)
2 - Récupération du nom complet du classeur d'origine
3 - Sauvegarde du fichier sous son nouveau format (les macros n'existent plus à l'intérieur) sauf sur la copie temporaire de travail (excel travail toujours sur des fichiers temporaires). Le classeur d'origine est fermé.
4 - réouverture du classeur d'origine (xlsm)
5 - fermeture de la copie sans les macros du fichier temporaire.
Code:
Sub SaveXlsx()
Dim nom As String
Application.DisplayAlerts = False
With ThisWorkbook
.Save
nom = .FullName
.SaveAs Replace(nom, "xlsm", "xlsx"), xlWorkbookDefault
Workbooks.Open nom
.Close
End With
Application.DisplayAlerts = True
End Sub
Merci
La macro ne fonctionne pas correctement.
Le fichier sans macro n'est pas enregistré dans le répertoire attendu et le fichier .xlsm a une erreur en ouverture "excel a rencontré un contenu illisible ..."
Cordialement.
J'ai pris le nom et le chemin du fichier original mais tu peux changer si tu veux dans copyAs, l'important étant de laisser la variable nom avec le nom d'origine du fichier pour pouvoir le réouvrir.
Si ton .xlsm a rencontré une erreur ben, ch'ai pas, chez moi cela fonctionne.
Je n'ai pas bien compris. Il faut que je garde ma ligne de code suivante :
ActiveWorkbook.SaveCopyAs Repertoire & "/" & sousRépertoire & "/" & Fichier
Cordialement.