exporter un module et userForm avec feuille

Le
Pascal
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un userform
mon problème réside dans le fait qu'a l'export je ne sais comment introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'code
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #16513851
Bonsoir,
Une piste pourrait être d'exporter le classeur après avoir supprimé tout le
superflu :
http://frederic.sigonneau.free.fr/code/VBE/SupprComposants.txt
http://frederic.sigonneau.free.fr/code/VBE/SupprMacroParMacro.txt
http://frederic.sigonneau.free.fr/code/VBE/SupprModulesCode.txt
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Pascal" ,com> a écrit dans le message de
news:%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse





michdenis
Le #16514081
Essaie ceci :

Tu peux adapter les chemins des fichiers....

'-----------------------------------------
Sub test_Copy()

With ThisWorkbook
With .VBProject.VBComponents
With .Item("Userform1")
.Export "c:Userform1.frm"
End With
With .Item("Module1")
.Export "c:Module1.bas"
End With
End With
.Sheets("Toto").Copy
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveWorkbook
With .VBProject.VBComponents
.Import "c:userform1.frm"
.Import "c:module1.bas"
End With
.SaveAs ThisWorkbook.Path & "TestEnvoi.xls"
.Close False
End With
Application.DisplayAlerts = True

Kill "c:userform1.frm": Kill "c:userform1.frx"
Kill "c:module1.bas"
End Sub
'-----------------------------------------



"Pascal" ,com> a écrit dans le message de news:
%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un userform
mon problème réside dans le fait qu'a l'export je ne sais comment introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse
Pascal
Le #16514501
hello MichDenis,
merci pour ce code
il me provoque une erreur : 1004 L'accès par programme au projet Visual
Basic n'est pas fiable
l'erreur se produit sur With.VBProject.VBCompoments
merci de ton aide
Pascal


"michdenis" discussion : #$ggh2l#
Essaie ceci :

Tu peux adapter les chemins des fichiers....

'-----------------------------------------
Sub test_Copy()

With ThisWorkbook
With .VBProject.VBComponents
With .Item("Userform1")
.Export "c:Userform1.frm"
End With
With .Item("Module1")
.Export "c:Module1.bas"
End With
End With
.Sheets("Toto").Copy
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveWorkbook
With .VBProject.VBComponents
.Import "c:userform1.frm"
.Import "c:module1.bas"
End With
.SaveAs ThisWorkbook.Path & "TestEnvoi.xls"
.Close False
End With
Application.DisplayAlerts = True

Kill "c:userform1.frm": Kill "c:userform1.frx"
Kill "c:module1.bas"
End Sub
'-----------------------------------------



"Pascal" ,com> a écrit dans le message de news:
%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse





Pascal
Le #16514491
hello Philippe.R,
avant de voir ta réponse et celle de MichDenis, j'avais pensé exactement la
même chose mais ne s'avait comment m'y prendre pour être efficace, merci
pour ces liens
Pascal


"Philippe.R" de discussion : egdHEkl#
Bonsoir,
Une piste pourrait être d'exporter le classeur après avoir supprimé tout
le superflu :
http://frederic.sigonneau.free.fr/code/VBE/SupprComposants.txt
http://frederic.sigonneau.free.fr/code/VBE/SupprMacroParMacro.txt
http://frederic.sigonneau.free.fr/code/VBE/SupprModulesCode.txt
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Pascal" ,com> a écrit dans le message de
news:%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse,
_
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse








michdenis
Le #16514481
Barre des menus de la feuille de calcul / Outils /
Macro / Sécurité / onglets -éditeurs approuvés /
Coche les 2 cases à cocher dans le bas de la fenêtre



"Pascal" ,com> a écrit dans le message de news:
%23kR43em%
hello MichDenis,
merci pour ce code
il me provoque une erreur : 1004 L'accès par programme au projet Visual
Basic n'est pas fiable
l'erreur se produit sur With.VBProject.VBCompoments
merci de ton aide
Pascal


"michdenis" discussion : #$ggh2l#
Essaie ceci :

Tu peux adapter les chemins des fichiers....

'-----------------------------------------
Sub test_Copy()

With ThisWorkbook
With .VBProject.VBComponents
With .Item("Userform1")
.Export "c:Userform1.frm"
End With
With .Item("Module1")
.Export "c:Module1.bas"
End With
End With
.Sheets("Toto").Copy
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveWorkbook
With .VBProject.VBComponents
.Import "c:userform1.frm"
.Import "c:module1.bas"
End With
.SaveAs ThisWorkbook.Path & "TestEnvoi.xls"
.Close False
End With
Application.DisplayAlerts = True

Kill "c:userform1.frm": Kill "c:userform1.frx"
Kill "c:module1.bas"
End Sub
'-----------------------------------------



"Pascal" ,com> a écrit dans le message de news:
%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse, _
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse





Pascal
Le #16514571
Bonsoir,
J'applaudis des 2 mains cela fonctionne à présent
une autre question découle, forcement,
le fait de transporter sur un pc vierge le classeur, ces 2 "coches" le
seront toujours?
Grand merci pour ton aide
Pascal


"michdenis" discussion : uLhIZhm#
Barre des menus de la feuille de calcul / Outils /
Macro / Sécurité / onglets -éditeurs approuvés /
Coche les 2 cases à cocher dans le bas de la fenêtre



"Pascal" ,com> a écrit dans le message de news:
%23kR43em%
hello MichDenis,
merci pour ce code
il me provoque une erreur : 1004 L'accès par programme au projet Visual
Basic n'est pas fiable
l'erreur se produit sur With.VBProject.VBCompoments
merci de ton aide
Pascal


"michdenis" discussion : #$ggh2l#
Essaie ceci :

Tu peux adapter les chemins des fichiers....

'-----------------------------------------
Sub test_Copy()

With ThisWorkbook
With .VBProject.VBComponents
With .Item("Userform1")
.Export "c:Userform1.frm"
End With
With .Item("Module1")
.Export "c:Module1.bas"
End With
End With
.Sheets("Toto").Copy
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveWorkbook
With .VBProject.VBComponents
.Import "c:userform1.frm"
.Import "c:module1.bas"
End With
.SaveAs ThisWorkbook.Path & "TestEnvoi.xls"
.Close False
End With
Application.DisplayAlerts = True

Kill "c:userform1.frm": Kill "c:userform1.frx"
Kill "c:module1.bas"
End Sub
'-----------------------------------------



"Pascal" ,com> a écrit dans le message de news:
%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse,
_
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse








michdenis
Le #16514871
| ces 2 "coches" le seront toujours?

Non, ce ne sont pas des caractéristiques associées
à un classeur mais à l'application Excel. Il faut donc
les cocher sur chaque PC.

Il n'y a pas de moyen de les cocher en utilisant une macro
dams Excel. Il faut utiliser un VBScript (fichier.vbs) et aller
modifier la base de registre lorsqu'excel est fermé.




"Pascal" ,com> a écrit dans le message de news:
e1WnCtm%
Bonsoir,
J'applaudis des 2 mains cela fonctionne à présent
une autre question découle, forcement,
le fait de transporter sur un pc vierge le classeur, ces 2 "coches" le
seront toujours?
Grand merci pour ton aide
Pascal


"michdenis" discussion : uLhIZhm#
Barre des menus de la feuille de calcul / Outils /
Macro / Sécurité / onglets -éditeurs approuvés /
Coche les 2 cases à cocher dans le bas de la fenêtre



"Pascal" ,com> a écrit dans le message de news:
%23kR43em%
hello MichDenis,
merci pour ce code
il me provoque une erreur : 1004 L'accès par programme au projet Visual
Basic n'est pas fiable
l'erreur se produit sur With.VBProject.VBCompoments
merci de ton aide
Pascal


"michdenis" discussion : #$ggh2l#
Essaie ceci :

Tu peux adapter les chemins des fichiers....

'-----------------------------------------
Sub test_Copy()

With ThisWorkbook
With .VBProject.VBComponents
With .Item("Userform1")
.Export "c:Userform1.frm"
End With
With .Item("Module1")
.Export "c:Module1.bas"
End With
End With
.Sheets("Toto").Copy
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ActiveWorkbook
With .VBProject.VBComponents
.Import "c:userform1.frm"
.Import "c:module1.bas"
End With
.SaveAs ThisWorkbook.Path & "TestEnvoi.xls"
.Close False
End With
Application.DisplayAlerts = True

Kill "c:userform1.frm": Kill "c:userform1.frx"
Kill "c:module1.bas"
End Sub
'-----------------------------------------



"Pascal" ,com> a écrit dans le message de news:
%236SdGal%
bonsoir,
ce petit bout de code et vous l'aurez compris
me copie une feuille sans soucis
seulement au sein de cette feuille j'ai un cmdbouton qui m'ouvre un
userform
mon problème réside dans le fait qu'a l'export je ne sais comment
introduire
mon userform ainsi qu'un module
Toute idée bienvenue

Pascal
'------------code---------------------------------
Sheets("Mafeuille").Select
Sheets("Mafeuille").Copy

ChDir ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:= _
ThisWorkbook.Path & "TestEnvoi.xls", FileFormat:=xlNormal _
, Password:="", WriteResPassword:="", ReadOnlyRecommended:úlse,
_
CreateBackup:úlse
'fermeture du classeur sans sauvegarde
Workbooks("testEnvoi.xls").Close savechanges:úlse








Pascal
Le #16517061
merci MichDenis
merci pour ces précisions, un peu gênante pour le nouvel utilisateur quand
même
je n'ai pas encore fait le test mais espère par contre que les Réferences
suivent bien le classeur
cordialement
Pascal

"michdenis" discussion : etFzJbn#
| ces 2 "coches" le seront toujours?

Non, ce ne sont pas des caractéristiques associées
à un classeur mais à l'application Excel. Il faut donc
les cocher sur chaque PC.

Il n'y a pas de moyen de les cocher en utilisant une macro
dams Excel. Il faut utiliser un VBScript (fichier.vbs) et aller
modifier la base de registre lorsqu'excel est fermé.


Publicité
Poster une réponse
Anonyme