Changer extension fichier en désactivant les macros
Fermé
pzyko
Messages postés
34
Date d'inscription
vendredi 27 juin 2014
Statut
Membre
Dernière intervention
8 août 2014
-
29 juil. 2014 à 16:50
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 1 août 2014 à 08:53
eriiic Messages postés 24600 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 21 octobre 2024 - 1 août 2014 à 08:53
A voir également:
- Changer extension fichier en désactivant les macros
- Changer dns - Guide
- Changer extension fichier - Guide
- Fichier rar - Guide
- Fichier host - Guide
- Comment ouvrir un fichier epub ? - Guide
4 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
29 juil. 2014 à 18:00
29 juil. 2014 à 18:00
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é.
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
31 juil. 2014 à 23:57
31 juil. 2014 à 23:57
Bonjour,
Heuuuu, j'ai plus simple :-)
'Enregistrer sous...' et choisir le type *.xls
eric
Heuuuu, j'ai plus simple :-)
'Enregistrer sous...' et choisir le type *.xls
eric
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
1 août 2014 à 08:06
1 août 2014 à 08:06
Bonjour eriiic,
Heuuuu, Je pense que tu as répondu sans essayer :-(
Les macros sont toujours là et fonctionnelles!
Heuuuu, Je pense que tu as répondu sans essayer :-(
Les macros sont toujours là et fonctionnelles!
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
1 août 2014 à 08:53
1 août 2014 à 08:53
Bonjour,
Oui, mais j'ai oublié l'étape principale : d'abord enregistrer dans le type *.xlsx (qui enlève les macros), puis dans la foulée en xls.
sorry :-)
eric
Oui, mais j'ai oublié l'étape principale : d'abord enregistrer dans le type *.xlsx (qui enlève les macros), puis dans la foulée en xls.
sorry :-)
eric