Bonjour,
J'ai développé une macro qui me copie un onglet et le mets à jour en fonction de différents fichier.
Maintenant que la MAJ de ce nouveau fichier excel est terminée, j'aimerais ajouter un code qui me permettrait de copier en même temps que l'onglet, le module et le userform associé.
A savoir que pour créer la copie de l'onglet qui m’intéresse j'utilise le code suivant :
Ensuite je réalise toutes mes manip pour MAJ le template et je sauvegarde puis ferme le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sheets("Template").Select Sheets("Template").Copy AuditFile = ActiveWorkbook.Name
J'ai trouvé ce code sur internet :
Cependant j'ai le message d'erreur suivant : Object doesn't support this propoerty or method au niveau de la ligne 6.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub Copie_CodeModule() Dim S As String, ModCode As Object 'Copie le module1 du classeur où est la macro 'Vers un module d'un autre classeur With Workbooks(Home).VBProject.VBComponents("Module1").codemodule S = .Lines(1, .CountOfLines) End With 'Classeur de destination : doit être ouvert absolument With Workbooks(Cible) 'Ajoute un module With .VBProject.VBComponents.Add(1) 'ajoute le code .codemodule.AddFromString S End With End With End Sub
Home correspondant à mon fichier source ou se trouve le code
Module1 le nom du module ou est mon code que je souhaitecopier
codemodule j'ai mi le nom du sub que je souhaite mettre dans mon fichier cible
Sinon en ce qui concerne la copie d'un userform je n'ai rien trouvé...
Plusieurs questions donc
1. qu'est ce qui fait buggué mon code ?
2. Comment copier un userform ?
3. Je dois faire la manip 1 pour chaque sub que je souhaite copier ?
Merci d'avance pour votre aide
Partager