Comment transférer des macros d'un classeur à un autre

leroideschats Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 18 mars 2011 - 18 mars 2011 à 09:40
leroideschats Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 18 mars 2011 - 18 mars 2011 à 16:39
Bonjour à tous,

Je travaille sous excel 2007 et je suis bloqué à un point.

J'ai un bouton dans la feuil1 qui me permet de créer un autre document : par exemple mon premier document est A.xlsm et j'en créé un autre B.xlsm.
J'aimerai transférer les macros qui sont dans le document A.xlsm vers le document B.xlsm par une autre macro.

Par ailleurs, j'aurais besoins de transférer des noms de plages d'un document à un autre, comme :
chpvba = DECALER(BD!$D$2;;;NBVAL(BD!$D:$D)-1)

Merci d'avance pour l'aide que vous pourrez m'apporter

4 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 mars 2011 à 14:14
Bonjour,
Pour ta 1ère question, j'ai répondu sur le sujet il y a quelques mois.
Voir ceci:
http://www.vbfrance.com/forum/sujet-MACRO-COPIER-CODE-MACRO_1479773.aspx

Pour ta 2ème question, sert toi de l'enregistreur de macro. Tu fais ta sélection, tu copies, tu ouvres ton 2ème classeur et tu colles. Tu arrêtes l'enregistreur et tu as ta macro.
@+ Le Pivert
0
leroideschats Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 18 mars 2011
18 mars 2011 à 14:59
Merci beaucoup pour ta réponse. Je vais regarder ça tout de suite, pour la réponse à la 1ère question.

Pour la 2ème, j'ai déjà essayé de faire un enregistrement de macro et ça ne passe pas (en tout cas pour mois). Il n'y a rien dans le module, mis à part le nom de la macro. Y aurait-il un autre moyen ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
18 mars 2011 à 15:08
Il faut que tu ouvres le 2ème classeur avec l'icône "Ouvrir" en haut à gauche.
J'ai essayé et voici la macro:


Sub Macro1()
 Range("B6:C6").Select
    Selection.Copy
    Workbooks.Open Filename:= _
        "C:\Documents and Settings\Propriétaire\Mes documents\Classeur2.xls" 'on ouvre  le 2ème classeur
    Range("C9:D9").Select
    ActiveSheet.Paste
    Windows("Classeur1.xls").Activate 'on revient sur le 1er classeur
End Sub



Le Pivert
0
leroideschats Messages postés 3 Date d'inscription vendredi 27 octobre 2006 Statut Membre Dernière intervention 18 mars 2011
18 mars 2011 à 16:39
Grâce à ton message précédent, j'ai trouvé comment il fallait faire.

J'ai un peu fouillé dans ActiveWorbook et il suffit de faire :

Dim A As String

A = ActiveWorkbook.Names.Item("nomdugroupe").Value

Workbooks.Add

ActiveWorkbook.Names.Add Name:="nomdugroupebis", RefersTo:=A

Merci encore pour l'aide
0
Rejoignez-nous