créer un classeur,y écrire par macro des instructions et les exécuter
3 réponses
Misange
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour
différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de
ces feuilles :
Sheets("machin").Copy
Je veux mettre dans le ThisWorkbook de ce nouveau classeur des
instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String
With ThisWorkbook.VBProject.VBComponents("exporter").CodeModule
NewCode = .Lines(1, .CountOfLines)
End With
With
ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
Ca marche presque impec : le classeur est bien créé avec la feuille et
le contenu du module "exporter" est bien recopié dans le thisworkbook
mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur,
les macros de thisworkbook ne sont pas exécutées.
Comment faire ?
many thanks
--
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Misange
oups ! c'est tout bon ! suffit de rajouter Application.Run "'maitre.xls'!mamacro"
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:32, :
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks
oups ! c'est tout bon ! suffit de rajouter
Application.Run "'maitre.xls'!mamacro"
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:32, :
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour
différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de
ces feuilles :
Sheets("machin").Copy
Je veux mettre dans le ThisWorkbook de ce nouveau classeur des
instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String
With ThisWorkbook.VBProject.VBComponents("exporter").CodeModule
NewCode = .Lines(1, .CountOfLines)
End With
With
ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
Ca marche presque impec : le classeur est bien créé avec la feuille et
le contenu du module "exporter" est bien recopié dans le thisworkbook
mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur,
les macros de thisworkbook ne sont pas exécutées.
Comment faire ?
many thanks
oups ! c'est tout bon ! suffit de rajouter Application.Run "'maitre.xls'!mamacro"
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:32, :
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks
GD
Bonsour® Misange quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes With ActiveWorkbook .RunAutoMacros xlAutoOpen '----------xlAutoClose etc... .Close End With
@+ wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks
Bonsour® Misange
quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes
With ActiveWorkbook
.RunAutoMacros xlAutoOpen '----------xlAutoClose etc...
.Close
End With
@+
wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour
différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de
ces feuilles :
Sheets("machin").Copy
Je veux mettre dans le ThisWorkbook de ce nouveau classeur des
instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String
With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule
NewCode = .Lines(1, .CountOfLines) End With With
ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
Ca marche presque impec : le classeur est bien créé avec la feuille et
le contenu du module "exporter" est bien recopié dans le thisworkbook
mais comme il n'y a pas d'événement d'ouverture de ce nouveau
classeur, les macros de thisworkbook ne sont pas exécutées.
Comment faire ?
many thanks
Bonsour® Misange quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes With ActiveWorkbook .RunAutoMacros xlAutoOpen '----------xlAutoClose etc... .Close End With
@+ wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks
Misange
Ok, je stocke aussi !
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:45, :
Bonsour® Misange quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes With ActiveWorkbook .RunAutoMacros xlAutoOpen '----------xlAutoClose etc... .Close End With
@+ wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks
Ok, je stocke aussi !
Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:45, :
Bonsour® Misange
quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes
With ActiveWorkbook
.RunAutoMacros xlAutoOpen '----------xlAutoClose etc...
.Close
End With
@+
wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour
différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de
ces feuilles :
Sheets("machin").Copy
Je veux mettre dans le ThisWorkbook de ce nouveau classeur des
instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String
With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule
NewCode = .Lines(1, .CountOfLines) End With With
ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
Ca marche presque impec : le classeur est bien créé avec la feuille et
le contenu du module "exporter" est bien recopié dans le thisworkbook
mais comme il n'y a pas d'événement d'ouverture de ce nouveau
classeur, les macros de thisworkbook ne sont pas exécutées.
Comment faire ?
many thanks
Misange migrateuse http://www.excelabo.net mail : http://cerbermail.com/?k5Q8Dh2mta
Le 26/02/2005 11:45, :
Bonsour® Misange quelque chose dans le genre déclencher toi-même l'évenement :
Doevents ' ------pour prendre en compte les actions précédentes With ActiveWorkbook .RunAutoMacros xlAutoOpen '----------xlAutoClose etc... .Close End With
@+ wrote:
Coucou,
J'ai un classeur maitre contenant des modèles de feuilles pour différents usages. Ce n'est pas un xlt mais un xls.
Par macro, je lance la création d'un nouveau classeur contenant une de ces feuilles : Sheets("machin").Copy Je veux mettre dans le ThisWorkbook de ce nouveau classeur des instructions contenues dans le module "exporter" du classeur maitre :
Dim NewM As Object, NewCode As String With
ThisWorkbook.VBProject.VBComponents("exporter").CodeModule NewCode = .Lines(1, .CountOfLines) End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines .AddFromString NewCode End With
Ca marche presque impec : le classeur est bien créé avec la feuille et le contenu du module "exporter" est bien recopié dans le thisworkbook mais comme il n'y a pas d'événement d'ouverture de ce nouveau classeur, les macros de thisworkbook ne sont pas exécutées. Comment faire ? many thanks