OVH Cloud OVH Cloud

Copie automatique d'une macro prééxistante à la création d'un fichier

7 réponses
Avatar
Lycaon
Bonjour =E0 tous,

J'ai une macro Private Sub Worksheet_Change(ByVal Target As Range) dans
mon fichier personal.xls (dans un module =E0 part) que je voudrais
copier automatiquement quand je cr=E9e un fichier dans une autre de mes
macros.

Est ce qu'il y a une instruction qui permet de r=E9aliser cette
op=E9ration directement (import des propri=E9t=E9 d'un module, d'une page
=E0 partir de personal.xls...) ?
Sinon, quelle est la m=E9thode pour le faire de mani=E8re "classique"
(c'est-=E0-dire apr=E8s cr=E9ation du fichier) ?

Merci,

7 réponses

Avatar
DarthMac
hello,

vais ptet dire une bêtise mais il y a peut-être moyen de mettre ta macro
dans un modele.xlt qui serait celui qu'utilise ton autre macro pour créer un
nouveau classeur.

mac


Bonjour à tous,

J'ai une macro Private Sub Worksheet_Change(ByVal Target As Range) dans
mon fichier personal.xls (dans un module à part) que je voudrais
copier automatiquement quand je crée un fichier dans une autre de mes
macros.

Est ce qu'il y a une instruction qui permet de réaliser cette
opération directement (import des propriété d'un module, d'une page
à partir de personal.xls...) ?
Sinon, quelle est la méthode pour le faire de manière "classique"
(c'est-à-dire après création du fichier) ?

Merci,




Avatar
Lycaon
salut,

Non ce n'est pas bête du tout mais comment ça s'écrit en VBA le fait
de créer un workbook selon un modèle ?

Merci pour ta réponse
Lycaon


hello,

vais ptet dire une bêtise mais il y a peut-être moyen de mettre ta ma cro
dans un modele.xlt qui serait celui qu'utilise ton autre macro pour cré er un
nouveau classeur.

mac


Bonjour à tous,

J'ai une macro Private Sub Worksheet_Change(ByVal Target As Range) dans
mon fichier personal.xls (dans un module à part) que je voudrais
copier automatiquement quand je crée un fichier dans une autre de mes
macros.

Est ce qu'il y a une instruction qui permet de réaliser cette
opération directement (import des propriété d'un module, d'une pa ge
à partir de personal.xls...) ?
Sinon, quelle est la méthode pour le faire de manière "classique"
(c'est-à-dire après création du fichier) ?

Merci,






Avatar
DarthMac
Je te propose de chercher un peu de ton côté dans l'aide, perso je regarderai
cette nuit si j'ai le temps et je te réponds demain, mais que si tu as
cherché aussi ;-)

mac


salut,

Non ce n'est pas bête du tout mais comment ça s'écrit en VBA le fait
de créer un workbook selon un modèle ?

Merci pour ta réponse
Lycaon


hello,

vais ptet dire une bêtise mais il y a peut-être moyen de mettre ta macro
dans un modele.xlt qui serait celui qu'utilise ton autre macro pour créer un
nouveau classeur.

mac


Bonjour à tous,

J'ai une macro Private Sub Worksheet_Change(ByVal Target As Range) dans
mon fichier personal.xls (dans un module à part) que je voudrais
copier automatiquement quand je crée un fichier dans une autre de mes
macros.

Est ce qu'il y a une instruction qui permet de réaliser cette
opération directement (import des propriété d'un module, d'une page
à partir de personal.xls...) ?
Sinon, quelle est la méthode pour le faire de manière "classique"
(c'est-à-dire après création du fichier) ?

Merci,










Avatar
Lycaon
OK je continue ma lutte avec Excel :)
Je sui sur une piste ceci dit...trouvée sur excelabo.net

@ bientôt

Lycaon



Je te propose de chercher un peu de ton côté dans l'aide, perso je re garderai
cette nuit si j'ai le temps et je te réponds demain, mais que si tu as
cherché aussi ;-)

mac


salut,

Non ce n'est pas bête du tout mais comment ça s'écrit en VBA le f ait
de créer un workbook selon un modèle ?

Merci pour ta réponse
Lycaon


hello,

vais ptet dire une bêtise mais il y a peut-être moyen de mettre t a macro
dans un modele.xlt qui serait celui qu'utilise ton autre macro pour c réer un
nouveau classeur.

mac


Bonjour à tous,

J'ai une macro Private Sub Worksheet_Change(ByVal Target As Range) dans
mon fichier personal.xls (dans un module à part) que je voudrais
copier automatiquement quand je crée un fichier dans une autre de mes
macros.

Est ce qu'il y a une instruction qui permet de réaliser cette
opération directement (import des propriété d'un module, d'un e page
à partir de personal.xls...) ?
Sinon, quelle est la méthode pour le faire de manière "classiqu e"
(c'est-à-dire après création du fichier) ?

Merci,












Avatar
DarthMac
Hello du soir,

tu en es où jusqu'à là ? trouvé la soluce ?

Mac

OK je continue ma lutte avec Excel :)
Je sui sur une piste ceci dit...trouvée sur excelabo.net

@ bientôt

Lycaon



Avatar
DarthMac
Sinon, je viens de lire ce message... je crois qu'il t'aidera...


Garette avait écrit le 18/10/2006 à 17h46 :
Re: Comment modifier la mise en page par défaut dans excel ?
Bonjour,

C'est possible en enregistrant les parametres d'entete ou de pied de page
dans un modele.

Il faut :
- ouvrir un document vierge
- dans mise en page fixer les parametre souhaités
- enregistrer le fichier sous le nom "classeur"
- choisir format "modele .xlt"
- et le placer dans le dossier XLSTART
C:Documents and SettingsUSERApplication DataMicrosoftExcelXLSTART
- Fermer Excel et le relancer.

Les parametres serons dispos pour tous les nouveaux classeurs créés


Pour Lycaon => donc les macros aussi. La voilà ta soluce...

Hello du soir,

tu en es où jusqu'à là ? trouvé la soluce ?

Mac

OK je continue ma lutte avec Excel :)
Je sui sur une piste ceci dit...trouvée sur excelabo.net

@ bientôt

Lycaon




Avatar
Lycaon
Merci pour ta réponse.

J'ai effectivement trouvé la soluce : voilà ce qu'il faut écrire

Sub RecopieModule()
Dim NewM As Object, NewCode As String
' Stockage du code du module "exporter" du classeur maitre
With
ActiveWorkbook.VBProject.VBComponents("lemoduleoùestlamacroquetuveuxcopie r").CodeModule
NewCode = .Lines(1, .CountOfLines)
End With
' Ajout d'un module au CLASSEUR ACTIF
Set NewM = ActiveWorkbook.VBProject.VBComponents.Add(1)
With ActiveWorkbook.VBProject.VBComponents(NewM.Name).CodeModule
' Le DeleteLines sert à éviter éviter d'avoir 2 fois Option Explicit
' si la déclaration explicite est cochée dans les préférences
'sans effet si l'option n'est pas cochée
.DeleteLines 1, .CountOfLines
.AddFromString NewCode
End With
End Sub