Copie de feuille

Le
Flac
Bonjour,
Excel 2000,
Dans la macro suivante, comment faire en sorte que les feuilles du nouveau
classeur ne comprennent pas les macros "Evenements de feuille"?

Sub test()
Dim Rg As Range, Chemin As String
Chemin = ThisWorkbook.FullName & ""
Set Rg = ThisWorkbook.Worksheets("Menu").Range("A1")
Application.ScreenUpdating = False
Sheets(Array("Résumé litres", "Litres", "millage réel", _
"Kilométrages", "Formule Gouvernement")).Copy
With ActiveWorkbook
.SaveAs Chemin & Rg & ".xls"
'Si nécessaire
.Close False
End With
End Sub

Merci

Flac
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #17627301
bonjour Flac,

si c'est pour détruire tout les codes,
remplacer :

.Close False

par

DeleteAllVBA
.Close True

Sub DeleteAllVBA()
'Source : Chip Pearson
'http://www.cpearson.com/excel/vbe.htm

Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Workbooks("Classeur7").VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 1, 2, 3
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp
End Sub

isabelle

Flac a écrit :
Bonjour,
Excel 2000,
Dans la macro suivante, comment faire en sorte que les feuilles du nouveau
classeur ne comprennent pas les macros "Evenements de feuille"?

Sub test()
Dim Rg As Range, Chemin As String
Chemin = ThisWorkbook.FullName & ""
Set Rg = ThisWorkbook.Worksheets("Menu").Range("A1")
Application.ScreenUpdating = False
Sheets(Array("Résumé litres", "Litres", "millage réel", _
"Kilométrages", "Formule Gouvernement")).Copy
With ActiveWorkbook
.SaveAs Chemin & Rg & ".xls"
'Si nécessaire
.Close False
End With
End Sub

Merci

Flac




Flac
Le #17631421
Bonjour et merci Isabelle,
Pourrais-tu m'expliquer comment je pourrais changer le
nom "classeur7" de la macro DeleteALLVBA

La macro bogue sur cette ligne (sauf si le classeur porte le nom de
"classeur7")

J'ai modifié avec (Activeworkbook) mais ça ne fonctionne pas. Quelle
syntaxe devrais-je utiliser pour
appliquer la macro au classeur actif

Merci à l'avance

Flac
"isabelle" a écrit dans le message de news:
u1$
bonjour Flac,

si c'est pour détruire tout les codes,
remplacer :

.Close False

par

DeleteAllVBA
.Close True

Sub DeleteAllVBA()
'Source : Chip Pearson
'http://www.cpearson.com/excel/vbe.htm

Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Workbooks("Classeur7").VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 1, 2, 3
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp
End Sub

isabelle

Flac a écrit :
Bonjour,
Excel 2000,
Dans la macro suivante, comment faire en sorte que les feuilles du
nouveau classeur ne comprennent pas les macros "Evenements de feuille"?

Sub test()
Dim Rg As Range, Chemin As String
Chemin = ThisWorkbook.FullName & ""
Set Rg = ThisWorkbook.Worksheets("Menu").Range("A1")
Application.ScreenUpdating = False
Sheets(Array("Résumé litres", "Litres", "millage réel", _
"Kilométrages", "Formule Gouvernement")).Copy
With ActiveWorkbook
.SaveAs Chemin & Rg & ".xls"
'Si nécessaire
.Close False
End With
End Sub

Merci

Flac





isabelle
Le #17631401
bonjour flac,

c'est cette ligne qu'il faut modifier :

Set VBComps = Workbooks("Classeur7").VBProject.VBComponents

par :

Set VBComps = ActiveWorkbook.VBProject.VBComponents

isabelle

Flac a écrit :
Bonjour et merci Isabelle,
Pourrais-tu m'expliquer comment je pourrais changer le
nom "classeur7" de la macro DeleteALLVBA

La macro bogue sur cette ligne (sauf si le classeur porte le nom de
"classeur7")

J'ai modifié avec (Activeworkbook) mais ça ne fonctionne pas. Quelle
syntaxe devrais-je utiliser pour
appliquer la macro au classeur actif

Merci à l'avance

Flac
"isabelle" a écrit dans le message de news:
u1$
bonjour Flac,

si c'est pour détruire tout les codes,
remplacer :

.Close False

par

DeleteAllVBA
.Close True

Sub DeleteAllVBA()
'Source : Chip Pearson
'http://www.cpearson.com/excel/vbe.htm

Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Workbooks("Classeur7").VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 1, 2, 3
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp
End Sub

isabelle

Flac a écrit :
Bonjour,
Excel 2000,
Dans la macro suivante, comment faire en sorte que les feuilles du
nouveau classeur ne comprennent pas les macros "Evenements de feuille"?

Sub test()
Dim Rg As Range, Chemin As String
Chemin = ThisWorkbook.FullName & ""
Set Rg = ThisWorkbook.Worksheets("Menu").Range("A1")
Application.ScreenUpdating = False
Sheets(Array("Résumé litres", "Litres", "millage réel", _
"Kilométrages", "Formule Gouvernement")).Copy
With ActiveWorkbook
.SaveAs Chemin & Rg & ".xls"
'Si nécessaire
.Close False
End With
End Sub

Merci

Flac








Flac
Le #17631591
Merci, ça fonctionne.

Flac



"isabelle" a écrit dans le message de news:

bonjour flac,

c'est cette ligne qu'il faut modifier :

Set VBComps = Workbooks("Classeur7").VBProject.VBComponents

par :

Set VBComps = ActiveWorkbook.VBProject.VBComponents

isabelle

Flac a écrit :
Bonjour et merci Isabelle,
Pourrais-tu m'expliquer comment je pourrais changer le
nom "classeur7" de la macro DeleteALLVBA

La macro bogue sur cette ligne (sauf si le classeur porte le nom de
"classeur7")

J'ai modifié avec (Activeworkbook) mais ça ne fonctionne pas. Quelle
syntaxe devrais-je utiliser pour
appliquer la macro au classeur actif

Merci à l'avance

Flac
"isabelle" a écrit dans le message de news:
u1$
bonjour Flac,

si c'est pour détruire tout les codes,
remplacer :

.Close False

par

DeleteAllVBA
.Close True

Sub DeleteAllVBA()
'Source : Chip Pearson
'http://www.cpearson.com/excel/vbe.htm

Dim VBComp As Object
Dim VBComps As Object
Set VBComps = Workbooks("Classeur7").VBProject.VBComponents
For Each VBComp In VBComps
Select Case VBComp.Type
Case 1, 2, 3
VBComps.Remove VBComp
Case Else
With VBComp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next VBComp
End Sub

isabelle

Flac a écrit :
Bonjour,
Excel 2000,
Dans la macro suivante, comment faire en sorte que les feuilles du
nouveau classeur ne comprennent pas les macros "Evenements de feuille"?

Sub test()
Dim Rg As Range, Chemin As String
Chemin = ThisWorkbook.FullName & ""
Set Rg = ThisWorkbook.Worksheets("Menu").Range("A1")
Application.ScreenUpdating = False
Sheets(Array("Résumé litres", "Litres", "millage réel", _
"Kilométrages", "Formule Gouvernement")).Copy
With ActiveWorkbook
.SaveAs Chemin & Rg & ".xls"
'Si nécessaire
.Close False
End With
End Sub

Merci

Flac










Publicité
Poster une réponse
Anonyme