Changer extension fichier en désactivant les macros
pzyko
Messages postés
34
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai un dossier contenant 5 fichiers ".xlsm" qui contiennent des macros. J'aimerais savoir comment modifier l'extension de ces fichiers pour les passer en ".xls" et qu'ils ne contiennent plus de macros.
Merci :)
J'ai un dossier contenant 5 fichiers ".xlsm" qui contiennent des macros. J'aimerais savoir comment modifier l'extension de ces fichiers pour les passer en ".xls" et qu'ils ne contiennent plus de macros.
Merci :)
A voir également:
- Changer extension fichier en désactivant les macros
- Changer dns - Guide
- Changer extension fichier - Guide
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
4 réponses
Bonjour,
Ouvrir un nouveau classeur et mettre dans un module:
Ensuite mettre une UserForm avec un CommandButton et mettre ce code:
Ensuite changer le chemin pour chaque classeur. L'ancien classeur n'est pas supprimé.
Ouvrir un nouveau classeur et mettre dans un module:
Option Explicit 'supprimer *tout* le code d'un classeur 'copier ce code dans un module standard d'un autre classeur que celui 'dont vous voulez supprimer toutes les macros et l'exécuter après avoir 'rendu actif le classeur dont les macros doivent être supprimées 'Bill Manville, mpep Sub RemoveMacros() Dim O As Object For Each O In ActiveWorkbook.Sheets If TypeName(O) = "Worksheet" Then Select Case O.Type Case xlExcel4MacroSheet, xlExcel4IntlMacroSheet Application.DisplayAlerts = False MsgBox "Macro sheet " & O.Name O.Delete Application.DisplayAlerts = True End Select ElseIf TypeName(O) = "Module" Then Application.DisplayAlerts = False MsgBox "Module " & O.Name O.Delete Application.DisplayAlerts = True End If Next If Val(Application.Version) >= 8 Then With ActiveWorkbook.VBProject For Each O In .VBComponents Select Case O.Type Case 1, 2 ' standard or class module MsgBox "Module " & O.Name .VBComponents.Remove O Case Else ' form or document With O.CodeModule If .CountOfLines > 0 Then MsgBox "Module behind " & O.Name .DeleteLines 1, .CountOfLines End If End With End Select Next End With End If For Each O In ActiveWorkbook.Names 'noms dans le classeur Select Case O.MacroType Case xlFunction, xlCommand MsgBox "Name " & O.Name O.Delete End Select Next End Sub
Ensuite mettre une UserForm avec un CommandButton et mettre ce code:
Option Explicit Dim chemin As String Private Sub CommandButton1_Click() chemin = "chemin classeur.xlsm" Workbooks.Open chemin RemoveMacros chemin = Replace(chemin, "xlsm", "xls") ActiveWorkbook.SaveAs Filename:= _ chemin, FileFormat:=xlExcel8, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False End Sub
Ensuite changer le chemin pour chaque classeur. L'ancien classeur n'est pas supprimé.