J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut
sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca
sauvegarde. Jusque là tout va bien :)
Est-il possible de désactiver qques macros de ce nouveau fichier avant la
sauvegarde?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Dude
oui c'est possible. En gros tu supprimes les macros dans ton nouvel enregistrement. tu as deux solutions : 1 - regrouper toutes les macros à désactiver dans un seul module (exemple ci-dessous) 2 - déclarer un "array" contenant le nom de toutes les macros que tu veux supprimer et faire un test sur l'ensemble des procédures de ton projet. C'est plus compliqué mais ça se fait aussi.
Sub removeCode() Dim awi 'activeWorkbookItem(index) Dim awcl As Integer 'activeWorkbook Component CountOfLines Dim count As Integer 'how many potential code modules Dim i As Integer 'loop counter On Error Resume Next count = ActiveWorkbook.VBProject.VBComponents.count For i = 1 To count Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i) if awi.CodeModule.Name = "ModuleX" then 'module à désactiver awcl = awi.CodeModule.CountOfLines awi.CodeModule.DeleteLines 1, awcl end if Next i Set awi = Nothing ' Release the object End Sub
"Christophe B." wrote in message news:
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca sauvegarde. Jusque là tout va bien :) Est-il possible de désactiver qques macros de ce nouveau fichier avant la sauvegarde?
Merci,
Christophe.B
oui c'est possible. En gros tu supprimes les macros dans ton nouvel
enregistrement.
tu as deux solutions :
1 - regrouper toutes les macros à désactiver dans un seul module (exemple
ci-dessous)
2 - déclarer un "array" contenant le nom de toutes les macros que tu veux
supprimer et faire un test sur l'ensemble des procédures de ton projet.
C'est plus compliqué mais ça se fait aussi.
Sub removeCode()
Dim awi 'activeWorkbookItem(index)
Dim awcl As Integer 'activeWorkbook Component CountOfLines
Dim count As Integer 'how many potential code modules
Dim i As Integer 'loop counter
On Error Resume Next
count = ActiveWorkbook.VBProject.VBComponents.count
For i = 1 To count
Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i)
if awi.CodeModule.Name = "ModuleX" then 'module à désactiver
awcl = awi.CodeModule.CountOfLines
awi.CodeModule.DeleteLines 1, awcl
end if
Next i
Set awi = Nothing ' Release the object
End Sub
"Christophe B." <ChristopheB@discussions.microsoft.com> wrote in message
news:522C0415-D121-47C9-B956-B017DE55BA77@microsoft.com...
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut
sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca
sauvegarde. Jusque là tout va bien :)
Est-il possible de désactiver qques macros de ce nouveau fichier avant la
sauvegarde?
oui c'est possible. En gros tu supprimes les macros dans ton nouvel enregistrement. tu as deux solutions : 1 - regrouper toutes les macros à désactiver dans un seul module (exemple ci-dessous) 2 - déclarer un "array" contenant le nom de toutes les macros que tu veux supprimer et faire un test sur l'ensemble des procédures de ton projet. C'est plus compliqué mais ça se fait aussi.
Sub removeCode() Dim awi 'activeWorkbookItem(index) Dim awcl As Integer 'activeWorkbook Component CountOfLines Dim count As Integer 'how many potential code modules Dim i As Integer 'loop counter On Error Resume Next count = ActiveWorkbook.VBProject.VBComponents.count For i = 1 To count Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i) if awi.CodeModule.Name = "ModuleX" then 'module à désactiver awcl = awi.CodeModule.CountOfLines awi.CodeModule.DeleteLines 1, awcl end if Next i Set awi = Nothing ' Release the object End Sub
"Christophe B." wrote in message news:
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca sauvegarde. Jusque là tout va bien :) Est-il possible de désactiver qques macros de ce nouveau fichier avant la sauvegarde?
Merci,
Christophe.B
Christophe B.
en fait, j'ai trouvé tout simple... et ca marche chez moi!
:)) et merci au fait ;)
If ThisWorkbook.Name <> "File.xls" Then Sheet1.Delete ThisWorkbook.VBProject.VBComponents.Remove End If
"Dude" wrote:
oui c'est possible. En gros tu supprimes les macros dans ton nouvel enregistrement. tu as deux solutions : 1 - regrouper toutes les macros à désactiver dans un seul module (exemple ci-dessous) 2 - déclarer un "array" contenant le nom de toutes les macros que tu veux supprimer et faire un test sur l'ensemble des procédures de ton projet. C'est plus compliqué mais ça se fait aussi.
Sub removeCode() Dim awi 'activeWorkbookItem(index) Dim awcl As Integer 'activeWorkbook Component CountOfLines Dim count As Integer 'how many potential code modules Dim i As Integer 'loop counter On Error Resume Next count = ActiveWorkbook.VBProject.VBComponents.count For i = 1 To count Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i) if awi.CodeModule.Name = "ModuleX" then 'module à désactiver awcl = awi.CodeModule.CountOfLines awi.CodeModule.DeleteLines 1, awcl end if Next i Set awi = Nothing ' Release the object End Sub
"Christophe B." wrote in message news:
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca sauvegarde. Jusque là tout va bien :) Est-il possible de désactiver qques macros de ce nouveau fichier avant la sauvegarde?
Merci,
Christophe.B
en fait, j'ai trouvé tout simple... et ca marche chez moi!
:)) et merci au fait ;)
If ThisWorkbook.Name <> "File.xls" Then
Sheet1.Delete
ThisWorkbook.VBProject.VBComponents.Remove
End If
"Dude" wrote:
oui c'est possible. En gros tu supprimes les macros dans ton nouvel
enregistrement.
tu as deux solutions :
1 - regrouper toutes les macros à désactiver dans un seul module (exemple
ci-dessous)
2 - déclarer un "array" contenant le nom de toutes les macros que tu veux
supprimer et faire un test sur l'ensemble des procédures de ton projet.
C'est plus compliqué mais ça se fait aussi.
Sub removeCode()
Dim awi 'activeWorkbookItem(index)
Dim awcl As Integer 'activeWorkbook Component CountOfLines
Dim count As Integer 'how many potential code modules
Dim i As Integer 'loop counter
On Error Resume Next
count = ActiveWorkbook.VBProject.VBComponents.count
For i = 1 To count
Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i)
if awi.CodeModule.Name = "ModuleX" then 'module à désactiver
awcl = awi.CodeModule.CountOfLines
awi.CodeModule.DeleteLines 1, awcl
end if
Next i
Set awi = Nothing ' Release the object
End Sub
"Christophe B." <ChristopheB@discussions.microsoft.com> wrote in message
news:522C0415-D121-47C9-B956-B017DE55BA77@microsoft.com...
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut
sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca
sauvegarde. Jusque là tout va bien :)
Est-il possible de désactiver qques macros de ce nouveau fichier avant la
sauvegarde?
en fait, j'ai trouvé tout simple... et ca marche chez moi!
:)) et merci au fait ;)
If ThisWorkbook.Name <> "File.xls" Then Sheet1.Delete ThisWorkbook.VBProject.VBComponents.Remove End If
"Dude" wrote:
oui c'est possible. En gros tu supprimes les macros dans ton nouvel enregistrement. tu as deux solutions : 1 - regrouper toutes les macros à désactiver dans un seul module (exemple ci-dessous) 2 - déclarer un "array" contenant le nom de toutes les macros que tu veux supprimer et faire un test sur l'ensemble des procédures de ton projet. C'est plus compliqué mais ça se fait aussi.
Sub removeCode() Dim awi 'activeWorkbookItem(index) Dim awcl As Integer 'activeWorkbook Component CountOfLines Dim count As Integer 'how many potential code modules Dim i As Integer 'loop counter On Error Resume Next count = ActiveWorkbook.VBProject.VBComponents.count For i = 1 To count Set awi = ActiveWorkbook.VBProject.VBComponents.Item(i) if awi.CodeModule.Name = "ModuleX" then 'module à désactiver awcl = awi.CodeModule.CountOfLines awi.CodeModule.DeleteLines 1, awcl end if Next i Set awi = Nothing ' Release the object End Sub
"Christophe B." wrote in message news:
Bonjour,
J'ai une boucle if dans laquelle il y a une msgbox demandant si on veut sauvegarder. Si oui, ca supprime les feuilles dont on a plus besoin et ca sauvegarde. Jusque là tout va bien :) Est-il possible de désactiver qques macros de ce nouveau fichier avant la sauvegarde?