• Initiateur de la discussion Initiateur de la discussion bbanor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bbanor

XLDnaute Occasionnel
Bonjour à tous

Je sollicite votre aide pour savoir comment faire pour utiliser les macros d'un classeur "A" dans un autre classeur "B"?

En clair comment copier une macro qui fonctionne dans un classeur "a" avec des spécificités dans un autre classeur vierge sans être obligé d'ouvrir le classeur "a"?

Je ne sais pas si j'ai été assez clair.

Merci d'avance pour vos réponses
 
Re : Copie de macro

Bonjour bbanor, bonjour le forum.

Pas facile de répondre sans connaître cette macro.

Mais le plus simple : ouvre ton éditeur vbe (alt F11), repère ta macro, sûrement dans un module, sélectionne tout, copie le, et colle le dans un module de ton autre classeur.

Mais peut-être y a-t-il un truc qui rend ta demande plus compliquée ?

JB
 
Re : Copie de macro

Bonjour,

ce n'est pas très clair :

. veux-tu utiliser une macro écrite dans un classeur A dans un autre classeur (B par exemple) ou dupliquer la macro de A dans B avant de l'utiliser?

Quelles sont les spécificités que tu évoques? sont-elles liées au classeur A?


Merci de ces précisions


GIBI
 
Re : Copie de macro

Bonjour bbanor, bonjour le forum.

Pas facile de répondre sans connaître cette macro.

Mais le plus simple : ouvre ton éditeur vbe (alt F11), repère ta macro, sûrement dans un module, sélectionne tout, copie le, et colle le dans un module de ton autre classeur.

Mais peut-être y a-t-il un truc qui rend ta demande plus compliquée ?

JB

J'ai bien essayé de faire cela mais pb dès le lancement de la macro le classeur contenant la macro s'ouvre et c'est ce que je voudrais évité.
 
Re : Copie de macro

Bonjour,

ce n'est pas très clair :

. veux-tu utiliser une macro écrite dans un classeur A dans un autre classeur (B par exemple) ou dupliquer la macro de A dans B avant de l'utiliser?



GIBI

C'est exactement cela que je veux faire. AU fait la macro que je voudrais lancer contient un usf qui me propose d'écrire des items dans des cellules. Je voudrais utiliser ce usf sans être obligé de recopier les données contenus dans le classeur A. Je ne peux vous envoyer le fichier car trop lourd mais je peux poster la macro que je souhaite réutiliser dans mon nouveau classeur B

Merci
 
Re : Copie de macro

Bonjour Le Mauricien, le forum,
tu cliques sur ton module du bouton droit puis exporter un fichier, là tu enregistres sous le nom que tu veux, puis ensuite tu fermes ton classeur A
après tu ouvres ton nouveau classeur B admettons et là tu fais importer un fichier et tu importes le nom que tu as enregistré précédemment.
et normalement ta macro marchera avec ton nouveau classeur
autrement tu peux faire un copier coller mais essayes comme ci-dessus et cela va régler ton soucis a+
Papou
 
Re : Copie de macro

Bon voilà le module principale du fichier :


'
' procedure dautolancement pour mes fichiers
' elle devrait permettre de cacher les cellules et
'de mettre des couleurs dans ce monde de brutes
'***********************************************
Sub Aut😵pen()
'
' sélectionner le fichier
Workbooks("bulletin_version_finale_trim3.xls").Activate
'Sélectionne la premiere feuille de présentation
Sheets("Bienvenue").Select
'environnement
With ActiveWindow
.DisplayGridlines = False
.DisplayOutline = False
.DisplayZeros = False
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
DisplayFormulaBar = True
.DisplayHeadings = False
End With
With Application
.DisplayFormulaBar = True
.DisplayStatusBar = True
.DisplayNoteIndicator = False
End With
ActiveWindow.DisplayHeadings = False
Toolbars(2).Visible = True
Toolbars(1).Visible = True


Range("A1").Select

End Sub

'*****************Auto_Fermer*******************
'Cette procedure est éxecutée à la fermeture
'du classeur
'***********************************************
Sub Auto_Close()
'Rétablissement de l'environnement de départ
With ActiveWindow
.DisplayGridlines = True
.DisplayOutline = True
.DisplayZeros = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayHeadings = True
End With
With Application
.DisplayFormulaBar = True
.DisplayStatusBar = True
.DisplayNoteIndicator = True

End With


End Sub
 
Re : Copie de macro

Et voici le code du Userform :


Private Sub ComboBoxCycle_Change()
ComboBoxGroupe.Clear
ComboBoxDetail.Clear
Dim Ligne, Competence, i As Integer
Ligne = FeuilCompetence.Cells(ComboBoxCycle.ListIndex + 1, 2).Value
Do
ComboBoxGroupe.AddItem FeuilCompetence.Cells(Ligne, 2).Value
Ligne = Ligne + FeuilCompetence.Cells(Ligne + 1, 1).Value + 1
Loop While (FeuilCompetence.Cells(Ligne, 1).Value <> "")
Ligne = FeuilCompetence.Cells(ComboBoxCycle.ListIndex + 1, 2).Value + 1
Competence = FeuilCompetence.Cells(Ligne, 1).Value - 1
For i = 0 To Competence
ComboBoxDetail.AddItem FeuilCompetence.Cells(Ligne + i, 3).Value
Next
ComboBoxGroupe.Value = FeuilCompetence.Cells(FeuilCompetence.Cells(ComboBoxCycle.ListIndex + 1, 2).Value, 2).Value
ComboBoxDetail.Value = FeuilCompetence.Cells(FeuilCompetence.Cells(ComboBoxCycle.ListIndex + 1, 2).Value + 1, 3).Value
End Sub

Private Sub ComboBoxGroupe_Change()
Dim i As Integer
ComboBoxDetail.Clear
Ligne = FeuilCompetence.Cells(ComboBoxCycle.ListIndex + 1, 2).Value + 1
For i = 1 To ComboBoxGroupe.ListIndex
Ligne = Ligne + FeuilCompetence.Cells(Ligne, 1).Value + 1
Next
ComboBoxDetail.Value = FeuilCompetence.Cells(Ligne, 3).Value
Competence = FeuilCompetence.Cells(Ligne, 1).Value - 1
For i = 0 To Competence
ComboBoxDetail.AddItem FeuilCompetence.Cells(Ligne + i, 3).Value
Next
End Sub

Private Sub CommandButton1_Click()
ActiveCell.Value = ComboBoxDetail.Value
ActiveCell.Offset(1).Select
End Sub

Private Sub CommandButton2_Click()
End
End Sub

Private Sub CommandButton3_Click()
ActiveCell.Value = ComboBoxGroupe.Value
ActiveCell.Offset(1).Select
End Sub

Private Sub UserForm_Initialize()
Dim Ligne, Competence, i As Integer
Ligne = 1
Do
ComboBoxCycle.AddItem FeuilCompetence.Cells(Ligne, 1).Value
Ligne = Ligne + 1
Loop While (FeuilCompetence.Cells(Ligne, 1).Value <> "")
Ligne = FeuilCompetence.Cells(1, 2)
Do
ComboBoxGroupe.AddItem FeuilCompetence.Cells(Ligne, 2).Value
Ligne = Ligne + FeuilCompetence.Cells(Ligne + 1, 1).Value + 1
Loop While (FeuilCompetence.Cells(Ligne, 1).Value <> "")
Ligne = FeuilCompetence.Cells(1, 2).Value + 1
Competence = FeuilCompetence.Cells(Ligne, 1).Value - 1
For i = 0 To Competence
ComboBoxDetail.AddItem FeuilCompetence.Cells(Ligne + i, 3).Value
Next
ComboBoxCycle.Value = FeuilCompetence.Cells(1, 1).Value
ComboBoxGroupe.Value = FeuilCompetence.Cells(FeuilCompetence.Cells(1, 2).Value, 2).Value
ComboBoxDetail.Value = FeuilCompetence.Cells(FeuilCompetence.Cells(1, 2).Value + 1, 3).Value
Initialisation = 1
End Sub
 
Re : Copie de macro

Bonjour Le Mauricien, le forum,
tu cliques sur ton module du bouton droit puis exporter un fichier, là tu enregistres sous le nom que tu veux, puis ensuite tu fermes ton classeur A
après tu ouvres ton nouveau classeur B admettons et là tu fais importer un fichier et tu importes le nom que tu as enregistré précédemment.
et normalement ta macro marchera avec ton nouveau classeur
autrement tu peux faire un copier coller mais essayes comme ci-dessus et cela va régler ton soucis a+
Papou

Salut Papou

Je n'arrive pas à le faire
Il faut dire que je suis sous excel Mac et je n'arrive pas en cliquant sur clic droit à afficher exporter.

Y a t-il un autre moyen?
 
Re : Copie de macro

Bonjour bbanor, le fil et le forum,

Pas suivi, mais, si dans l'explorateur de projet tu cliques sur ton module et que, clic gauche enfoncé tu le transportes sur ton autre classeur.

Pareil pour l'USF.

A te lire, et bonne soirée.

Jean-Pierre
 
Re : Copie de macro

Bonjour bbanor, le fil et le forum,

Pas suivi, mais, si dans l'explorateur de projet tu cliques sur ton module et que, clic gauche enfoncé tu le transportes sur ton autre classeur.

Pareil pour l'USF.

A te lire, et bonne soirée.

Jean-Pierre

Essayé à plusieurs reprises mais ne marche pas. As tu noté que je suis sous excel Mac ?
Pourtant c'est la première solution que j'avais essayé au début mais sans résultat.
 
Re : Copie de macro

Re,

Désolé, je ne connais pas MAC, mais cela me semble un peu bizarre et j'ai vu des clients (sous Mac) faire du cliqué/déposé sans problème.

Peut-être est-ce dû à une option... ?

Espéront le passage d'un utilisateur.

Bon après-midi.

Jean-Pierre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
261
Réponses
4
Affichages
495
  • Question Question
XL 2021 Macro
Réponses
6
Affichages
329
Retour