Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de groupe de
discussion :
#DFWcpKgJHA.4052@TK2MSFTNGP05.phx.gbl...
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
ug2gwUKgJHA.1168@TK2MSFTNGP05.phx.gbl...
Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Daniel
ca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eI1l20JgJHA.3728@TK2MSFTNGP06.phx.gbl...
Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Daniel
Je ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de news:
eIbU%23LJgJHA.1172@TK2MSFTNGP04.phx.gbl...
Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news:
eQ63vbHgJHA.5724@TK2MSFTNGP02.phx.gbl...
La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: uMODJ4GgJHA.500@TK2MSFTNGP06.phx.gbl...
Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
Daniel
Bonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de groupe de
discussion :
#DFWcpKgJHA.4052@TK2MSFTNGP05.phx.gbl...
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
ug2gwUKgJHA.1168@TK2MSFTNGP05.phx.gbl...
Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Daniel
ca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eI1l20JgJHA.3728@TK2MSFTNGP06.phx.gbl...
Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Daniel
Je ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de news:
eIbU%23LJgJHA.1172@TK2MSFTNGP04.phx.gbl...
Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news:
eQ63vbHgJHA.5724@TK2MSFTNGP02.phx.gbl...
La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: uMODJ4GgJHA.500@TK2MSFTNGP06.phx.gbl...
Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
Daniel
Bonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Quelle est ta version d'excel ?
Dans l'interface de la feuille de calcul
barre des menus / outils / macros / sécurité / onglet éditeurs approuvés /
Est-ce que les 2 cases à cocher dans le bas de la fenêtre sont cochées ?
Est-ce que toutes tes autres macros s'exécute normalement ?
"Manu" a écrit dans le message de groupe de
discussion :
#
Bonsoir,
J'ai suivi ta procedure, mais ca bug sur Set VBComps > Wk.VBProject.VBComponents
J'ai fait :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Dim Wk As Workbook
Set Wk = Workbooks("toto.xls")
SupprimeToutCodeEtFormulaire Wk
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et dans un module standard :
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
Je ne comprend rien.
Merci
Manu
"michdenis" a écrit dans le message de news:Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si
elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton
fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Quelle est ta version d'excel ?
Dans l'interface de la feuille de calcul
barre des menus / outils / macros / sécurité / onglet éditeurs approuvés /
Est-ce que les 2 cases à cocher dans le bas de la fenêtre sont cochées ?
Est-ce que toutes tes autres macros s'exécute normalement ?
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de groupe de
discussion :
#kP3clMgJHA.1172@TK2MSFTNGP05.phx.gbl...
Bonsoir,
J'ai suivi ta procedure, mais ca bug sur Set VBComps > Wk.VBProject.VBComponents
J'ai fait :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Dim Wk As Workbook
Set Wk = Workbooks("toto.xls")
SupprimeToutCodeEtFormulaire Wk
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et dans un module standard :
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
Je ne comprend rien.
Merci
Manu
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
B3DB7EB1-A057-4FB1-9E8A-2DDDBC5D2206@microsoft.com...
Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de groupe de
discussion :
#DFWcpKgJHA.4052@TK2MSFTNGP05.phx.gbl...
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
ug2gwUKgJHA.1168@TK2MSFTNGP05.phx.gbl...
Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Daniel
ca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de news:
eI1l20JgJHA.3728@TK2MSFTNGP06.phx.gbl...
Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Daniel
Je ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" <manuel.gamin@wanadoo.fr> a écrit dans le message de news:
eIbU%23LJgJHA.1172@TK2MSFTNGP04.phx.gbl...
Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news:
eQ63vbHgJHA.5724@TK2MSFTNGP02.phx.gbl...
La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François
"Daniel.C" <dcolardelleZZZ@gmail.com> a écrit dans le message de
news: uMODJ4GgJHA.500@TK2MSFTNGP06.phx.gbl...
Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si
elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton
fil
initial.
Daniel
Bonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu
Quelle est ta version d'excel ?
Dans l'interface de la feuille de calcul
barre des menus / outils / macros / sécurité / onglet éditeurs approuvés /
Est-ce que les 2 cases à cocher dans le bas de la fenêtre sont cochées ?
Est-ce que toutes tes autres macros s'exécute normalement ?
"Manu" a écrit dans le message de groupe de
discussion :
#
Bonsoir,
J'ai suivi ta procedure, mais ca bug sur Set VBComps > Wk.VBProject.VBComponents
J'ai fait :
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Dim Wk As Workbook
Set Wk = Workbooks("toto.xls")
SupprimeToutCodeEtFormulaire Wk
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et dans un module standard :
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
Je ne comprend rien.
Merci
Manu
"michdenis" a écrit dans le message de news:Avec votre permission,
Pour supprimer le code d'UNE feuille :
Dim Wk as workbook
'le classeur doit être ouvert
'Indique le nom du classeur où est la feuille
'dont tu veux supprimer le code
Set Wk = Workbooks("NomDuClasseu.xls")
!NomFeuille = Nom de la propriété Name de
l'objet Worksheet visible dans l'éditeur de code
et non le nom de l'onglet de la feuille.
With Wk.VBProject.VBComponents("NomFeuille")CodeModule
.DeleteLines 1, .CountOfLines
End With
Si tu veux supprimer toutes les procédures des modules
feuilles, du ThisWorkbook, et supprimer tous les modules
standard, de classe et les formulaire :
dim Wk As Workbook
'Insère la référence du classeur où tu veux
'supprimer tout le code
Set Wk = Workbooks("NomDuClasseur.xls")
'Appelle la procédure quand tu es prêt de
cette manière c'est tout.
SupprimeToutCodeEtFormulaire Wk
'-------------------------------------------------
'Copie cette procédure dans un module standard.
Sub SupprimeToutCodeEtFormulaire(Wk As Workbook)
Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Wk.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
End Sub
'-------------------------------------------------
"Manu" a écrit dans le message de groupe de
discussion :
#
J'ai fais ceci, mais ca bug tjrs sur la ligne : With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With
Workbooks("toto.xls").VBProject.VBComponents.CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
"Daniel.C" a écrit dans le message de news:Avec cette syntaxe, la macro doit être dans le classeur qui contient
mimi.
Sinon remplace "thisworkbook" par workbooks("nomduclasseur")...
Danielca bloque encore, j'ai fais ceci :
Application.DisplayAlerts = FalseWorkbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
With ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
et le debogueur tombe sur : With
ThisWorkbook.VBProject.VBComponents("mimi").CodeModule
"Daniel.C" a écrit dans le message de news:Pour supprimer les macros de la Feuil2 :
With ThisWorkbook.VBProject.VBComponents("Feuil2").CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next i
End With
DanielJe ny arrive pas, en faît je fais une copie d'une feuille qui possede
des macros sur un autre fichier et je souhaite lui oter toute les
macros
voici ma macro
Application.DisplayAlerts = False
Workbooks.Open Filename:= _
"C:Documents and SettingsManuBureautoto.xls"
Sheets("mimi").Select
ActiveWindow.SelectedSheets.Delete
Windows("monfichier.xls").Activate
Sheets("mimi").Select
Sheets("mimi").Copy Before:=Workbooks("toto.xls" _
).Sheets(1)
Range("A1").Select
ActiveWorkbook.Save
ActiveWindow.Close
Windows("monfichier.xls").Activate
Range("a1").Select
Et je n'arrive pas à inserer le code ci-dessous dans ma macro, je
pense
qu'il faut l'inserer avant ActiveWorkbook.Save mais rien y fait
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Help SVP
Manu
"Manu" a écrit dans le message de news:
eIbU%Merci Daniel ainsi qu'à Francois et Michdenis.
Manu
"Daniel.C" a écrit dans le message de
news:La réponse était de François :
Bonjour,
Michdenis, à une demande similaire, m'avait indiqué le code suivant
pour tout supprimer :
MsgBox ("Pour que toutes les programmations devenues inutiles
soient définitivement supprimées," & Chr(13) & "il faudra ne pas
oublier d'enregistrer les modifications du classeur.")
Dim VBComp, VBComps As Object
Set VBComps = ActiveWorkbook.VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 100
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
Case Else
VBComps.Remove VBComp
End Select
Next VBComp
Mais ce code ne fonctionne que s'il n'y a pas de mot de passe pour
le
VBA ...
François"Daniel.C" a écrit dans le message de
news:Bonjour.
Reporte-toi à la réponse obtenue lors de ton premier post. Si
elle
ne te convient pas, dis-le, mais s'il te plait, reste dans ton
fil
initial.
DanielBonjour,
Je souhaite en vba demander à excel que lorsque j'ouvre le
fichier
toto.xls,
qu'il supprime toutes les macros qui se trouve dans la feuil
mimi,
voir même
pourquoi pas supprimer toutes les macros du fichier toto.xls
Merci pour votre aide
Manu