Bonjour le forum,
Existerai-il un macro pour recopier des UserForms renommés?
Sinon j'ouvre mes deux classeurs et je les fait "monter" manuellement un par un.
Merci pour vos éventuels retours
Bien cordialement
Bonjour le forum,
Existerai-il un macro pour recopier des UserForms renommés?
Sinon j'ouvre mes deux classeurs et je les fait "monter" manuellement un par un.
Merci pour vos éventuels retours
Bien cordialement
Bonjour
ta question n'est pas tres clair
si la question est existe il une fonction ou la possibilité de copier un userform dans un autre fichier puis renomer le userform dans le fichier recepteur la reponse est oui
mais pas copier !!!!!exporter et importer
fait une recherche du cote de vbcomponent ou comment exporter/importer un module les userform sont avant tout des modules
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonjour patricktoulon,
La question est: Dans un programme j'ai 17 Userform qui sont renommés.
Puis-je faire avec une macro une copie des 17 dans un autre classeur?
Pour Modules je sais faire.
Merci de m'avoir répondu.
Décidemment je te mets à "contribution en ce moment
Bien cordialement
Bonjour,
Testes en adaptant le chemin et le nom, par défaut, ils seront exportés dans le même dossier que le classeur les contenant. A mettre dans un module standard :
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Noms_Modules() Dim Classeur As Workbook Dim Composant As Object Dim NomClasseur As String Dim Chemin As String 'nom du classeur cible (celui devant recevoir les Forms), adapter... NomClasseur = "Classeur2.xls" On Error Resume Next Set Classeur = Workbooks(NomClasseur) If Err <> 0 Then MsgBox "Veuillez ouvrir le classeur '" & NomClasseur & "' pour l'import des UserForms !" Exit Sub End If On Error GoTo 0 For Each Composant In ThisWorkbook.VBProject.VBComponents If Composant.Type = 3 Then Chemin = ThisWorkbook.Path & "\" & Composant.Name & ".frm" ThisWorkbook.VBProject.VBComponents(Composant.Name).Export Chemin 'exporte Workbooks(NomClasseur).VBProject.VBComponents.Import Chemin 'importe End If Next Composant End Sub
ben voila theze a repondu a ma place
mes fichiers dans les contributions:
mail avec CDO en vba et mail avec CDO en vbs dans un HTA
survol des bouton dans userform
prendre un cliché d'un range
si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
et n'oublie pas de voter
Bonsoir Theze & Bonsoir patricktoulon,
SUPER mais un petit détail ça copie aussi sur le bureau.
Aurais-je "loupé" un truc?
Me connaissant c'est tout à fait possible
Merci encore à vous deux et bonne fin de soirée
Bonjour,
Ton classeur est donc sur le bureau !
Il faut savoir que l'export des UserForms enregistre les fichiers sur le disque (ils sont 2, frm et frx) et qu'ils ne sont pas détruits une fois l'import réaliser, il te faut les détruire par la suite soit manuellement soit par macro ! Par macro :
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 For Each Composant In ThisWorkbook.VBProject.VBComponents If Composant.Type = 3 Then Chemin = ThisWorkbook.Path & "\" & Composant.Name & ".frm" ThisWorkbook.VBProject.VBComponents(Composant.Name).Export Chemin 'exporte Workbooks(NomClasseur).VBProject.VBComponents.Import Chemin 'importe Kill Chemin Kill Replace(Chemin, "frm", "frx") End If Next Composant
Bonjour Theze,
SUPER UN GRAND MERCi.
Ça fonctionne nickel
Ça va en aider plus.
Bonne journée à toi et aussi à patricktoulon
Bien cordialement
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager