Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message
de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message
de news: 86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message
de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour, *Bruno LOUIS*
J'ai lu ton post 41f60e4a$0$18836$ avec le plus
grand intéret :
Et cela m'ouvre des horizons insoupçonnés.
Saurais-tu comment modifier ton code de manière à exclure soit un module,
"Mod1" par exemple, soit une sub "sub1" par exemple, et ce où qu'elle soit
située ?
Une autre solution serait de faire valider ou invalider chaque suppression
(boîte de dialogue).
Bien cordialement,
Patrick.
Bonjour, *Bruno LOUIS*
J'ai lu ton post 41f60e4a$0$18836$8fcfb975@news.wanadoo.fr avec le plus
grand intéret :
Et cela m'ouvre des horizons insoupçonnés.
Saurais-tu comment modifier ton code de manière à exclure soit un module,
"Mod1" par exemple, soit une sub "sub1" par exemple, et ce où qu'elle soit
située ?
Une autre solution serait de faire valider ou invalider chaque suppression
(boîte de dialogue).
Bien cordialement,
Patrick.
Bonjour, *Bruno LOUIS*
J'ai lu ton post 41f60e4a$0$18836$ avec le plus
grand intéret :
Et cela m'ouvre des horizons insoupçonnés.
Saurais-tu comment modifier ton code de manière à exclure soit un module,
"Mod1" par exemple, soit une sub "sub1" par exemple, et ce où qu'elle soit
située ?
Une autre solution serait de faire valider ou invalider chaque suppression
(boîte de dialogue).
Bien cordialement,
Patrick.
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Je te recommande le site de F. SIGONNEAU
http://frederic.sigonneau.free.fr/
Tu as pas mal d'exemple concernant la gestion des modules.
Je te recommande le site de F. SIGONNEAU
http://frederic.sigonneau.free.fr/
Tu as pas mal d'exemple concernant la gestion des modules.
Je te recommande le site de F. SIGONNEAU
http://frederic.sigonneau.free.fr/
Tu as pas mal d'exemple concernant la gestion des modules.
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de
news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le
message de news:
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le
message de news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le
message de news:
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour,
Dans l'environnement de programmation:
Outils - Références et coche "Visual Basic for Applications
extensibility 5.3"
"Hubert" a écrit dans le message de
news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pourresoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
..CountOfLinesEnd With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le
message de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façona
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour,
Dans l'environnement de programmation:
Outils - Références et coche "Visual Basic for Applications
extensibility 5.3"
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de
news:697B2F2E-3AFD-43EB-AB0E-2376B44ED335@microsoft.com...
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
..CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le
message de news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Bonjour,
Dans l'environnement de programmation:
Outils - Références et coche "Visual Basic for Applications
extensibility 5.3"
"Hubert" a écrit dans le message de
news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en
VBA pourresoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse
mes codes:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
..CountOfLinesEnd With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le
message de news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les
macros de façona
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" a écrit dans le message de news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de news:
697B2F2E-3AFD-43EB-AB0E-2376B44ED335@microsoft.com...
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de
news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" a écrit dans le message de news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1, .CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Voici le message d'erreur
Erreur de compilation
Nom ambigu detecté: EffaceModules
Merci
"Bruno LOUIS" wrote:Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" a écrit dans le message de
news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Voici le message d'erreur
Erreur de compilation
Nom ambigu detecté: EffaceModules
Merci
"Bruno LOUIS" wrote:
Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de
news:
697B2F2E-3AFD-43EB-AB0E-2376B44ED335@microsoft.com...
Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:
Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" <Hubert@discussions.microsoft.com> a écrit dans le message de
news:
86A1D0D5-D184-4882-937D-62B44A581077@microsoft.com...
Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement
Voici le message d'erreur
Erreur de compilation
Nom ambigu detecté: EffaceModules
Merci
"Bruno LOUIS" wrote:Peux-tu me dire quel message d'erreur tu obtiens ?
"Hubert" a écrit dans le message de
news:Bonjour Bruno
Désolé mais ça ne marche pas, il y a un bug sur la 3eme ligne
With xlWkb.VBProject, et je n'ai pas suffisament de connaissance en VBA
pour
resoudre ce problème. J'ai trouvé ça également (désolé c'est un peu
long)
Sub SaveAsWithoutMacros()
Dim NomSource$, CheminDest$, NomDest$
Dim VBC As Object
NomSource = "EssaiSaveAs.xls" 'à adapter
CheminDest = "C:WindowsTemp" 'à adapter
NomDest = "Essai.xls" 'à adapter
Workbooks(NomSource).SaveAs CheminDest & NomDest
With ActiveWorkbook.VBProject
'cette partie du code est de Laurent Longre
For Each VBC In .VBComponents
If VBC.Type = 100 Then
With VBC.CodeModule
.DeleteLines 1, .CountOfLines
.CodePane.Window.Close
End With
Else: .VBComponents.Remove VBC
End If
Next VBC 'LL
End With
Application.Quit
SendKeys "%O"
End Sub
mais j'ai un bug également sur "With ActiveWorkbook.VBProject"
Merci et à bientot
Hubert
"Bruno LOUIS" wrote:Salut Hubert,
J'ai déjà fait ça dans un contexte un peu différent. Je t'adresse mes
codes
:
Public Sub EffaceModules(xlWkb As Workbook)
Dim O As Object
With xlWkb.VBProject
For Each O In .VBComponents
Select Case O.Type
Case 1, 2
.VBComponents.Remove O
Case Else
With O.CodeModule
If .CountOfLines > 0 Then .DeleteLines 1,
.CountOfLines
End With
End Select
Next
End With
End Sub
Public Sub test()
Dim xlwk As Excel.Workbook
Set xlwk = Application.Workbooks("Classeur4")
EffaceModules xlwk
End Sub
Cordialement,
Bruno
"Hubert" a écrit dans le message de
news:Bonjour !
A l'enregistrement d'un classeur je voudrais supprimer les macros de
façon
a
créer un classeur "mort", Est-ce réalisable ?
Merci d'avance
Cordialement