Copie userformpar macro
Résolu/Fermé
diabolo162
Messages postés
1002
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
9 octobre 2018
-
7 mars 2012 à 22:22
diabolo162 Messages postés 1002 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 9 octobre 2018 - 9 mars 2012 à 08:57
diabolo162 Messages postés 1002 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 9 octobre 2018 - 9 mars 2012 à 08:57
A voir également:
- Copie userformpar macro
- Copie cachée - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Macro word - Guide
- Copie écran samsung - Guide
- Super copie - Télécharger - Gestion de fichiers
7 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
7 mars 2012 à 22:46
7 mars 2012 à 22:46
bonjour
Pour recopier le userform et son code sur un autre classeur, tu peux le faire glisser directement à la souris.
Pour recopier le userform et son code sur un autre classeur, tu peux le faire glisser directement à la souris.
diabolo162
Messages postés
1002
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
9 octobre 2018
29
7 mars 2012 à 23:11
7 mars 2012 à 23:11
Oui je sais bien mais sur des gros dossiers il faut penser à faire pleins de petite choses à droite et à gauche alors à la fin ca commence d'etre compliqué de penser à tout et j'aimerais dans la mesure du possible simplifier les choses et rendre agréable l'utilisation pour ceux qui ne s'y connaissent rien dans la VBA.
diabolo162
Messages postés
1002
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
9 octobre 2018
29
8 mars 2012 à 13:48
8 mars 2012 à 13:48
Avec espérance d'un coup de pouce ...je remonte le sujet en tête de fil...
cousinhub29
Messages postés
955
Date d'inscription
mardi 10 août 2010
Statut
Membre
Dernière intervention
15 novembre 2024
344
8 mars 2012 à 14:32
8 mars 2012 à 14:32
Bonjour,
Un essai :
bon courage
Un essai :
Sub ImportExport() Dim UsfExport As String, LePath As String 'Détermination du répertoire LePath = ActiveWorkbook.Path & "\" 'fichier temporaire pour l'exportation/importation UsfExport = LePath & "usf.frm" 'exportation depuis le classeur qui contient ce code ThisWorkbook.VBProject. _ VBComponents("UserForm3").Export UsfExport 'importation dans le fichier de ton choix Workbooks("essai import.xls").VBProject. _ VBComponents.Import(UsfExport).Name = "UserForm3" 'destruction du fichier temporaire Kill UsfExport End Sub
bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
diabolo162
Messages postés
1002
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
9 octobre 2018
29
8 mars 2012 à 21:37
8 mars 2012 à 21:37
Merci pour ta réponse mais je n'ai pas su l'adapté celle ci pour sa fonctionnalité?!
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
Modifié par gbinforme le 9/03/2012 à 08:35
Modifié par gbinforme le 9/03/2012 à 08:35
bonjour diabolo162,
Voici ton code simplifié et intégrant la sauvegarde de "UserForm3" :
J'ai rajouté la fermeture du nouveau classeur, mais tu peux l'enlever bien sûr.
Toujours zen
Voici ton code simplifié et intégrant la sauvegarde de "UserForm3" :
Dim man As String ' nom sauvegarde usf Sub CopyFeuillesNormal() 'copier les feuille menu normal dans un autre classeur man = ActiveWorkbook.Path & "\man.frm" ActiveWorkbook.VBProject.VBComponents("UserForm3").Export man Sheets(Array(6, 8, 10, 12, 14, 16, 18, 20)).Copy ActiveWorkbook.VBProject.VBComponents.Import (man) man = Replace(man, "frm", "fr*") Kill man Application.Dialogs(xlDialogSaveAs).Show ActiveWorkbook.Close End Sub Sub CopyFeuillesRégime() 'copier les feuille menu Régime dans un autre classeur man = ActiveWorkbook.Path & "\man.frm" ActiveWorkbook.VBProject.VBComponents("UserForm3").Export man Sheets(Array(7, 9, 11, 13, 15, 17, 19, 21)).Copy ActiveWorkbook.VBProject.VBComponents.Import (man) man = Replace(man, "frm", "fr*") Kill man Application.Dialogs(xlDialogSaveAs).Show ActiveWorkbook.Close End Sub
J'ai rajouté la fermeture du nouveau classeur, mais tu peux l'enlever bien sûr.
Toujours zen
diabolo162
Messages postés
1002
Date d'inscription
lundi 28 janvier 2008
Statut
Membre
Dernière intervention
9 octobre 2018
29
9 mars 2012 à 08:57
9 mars 2012 à 08:57
Alors la je dis chapeau.....ca marche impec...merci mille fois!!!