Changer extension fichier en désactivant les macros
pzyko
Messages postés
35
Statut
Membre
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
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é.