Creer un nouveau classeur en exportant une feuille excel et les objets VB

prorudess

XLDnaute Junior
Bonjour à tous,

Alors voilà mon problème est assez simple (à expliquer), je cherche par une macro à soit :

- Exporter une feuille d'un classeur (1) vers un nouveau classeur (2) en exportant aussi les modules (1) et les Userforms (1) liées à ma feuille.

- Enregistrer sous en supprimant les feuilles que je ne désire pas garder dans cette nouvelle copie. Cette deuxième solution est la plus simple à mettre en œuvre, mais il y a un problème, je dois pouvoir accéder encore à mon classeur d'origine car la macro doit pouvoir continuer à tourner plusieurs fois (elle répète cette opération plusieurs fois (cf.code vba joint)).

Code:
'Copier coller les valeurs
Application.ScreenUpdating = False
Feuil2.Range("A1:K90").Value = Feuil2.Range("A1:K90").Value
Application.ScreenUpdating = True

'Supprimer la feuille 1
Feuil1.Delete

'Enregistrer ce nouveau classeur
ChDir "C:\Users\moi\Desktop"
ActiveWorkbook.SaveAs Filename:="C:\Users\moi\Desktop\" & Feuil2.Range("G2").Value & ".xls" _
, FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

'Fermer la copie sans confirmation
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True

Voilà si quelqu'un à un bout de code me permettant de faire cela je suis preneur.

D'avance merci de votre aide.

Bon dimanche
 

prorudess

XLDnaute Junior
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Ok j'ai honte :eek:

C'était bien cela le souci ...
Merci beaucoup JCGL

Merci à tout le monde pour votre aide, je galérais depuis le début de l'après-midi avec ce code...
Yves, si tu le temps à un moment ta solution m'intéresse aussi (pour ma culture personnelle) :)

Bonne soirée à tous
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Bonsoir à tous,

Me voilà rassuré, j'avais évoqué la solution de JCGL (que je salue bien bas) dans mon message 11 mais peut-être n'ai-je pas été aussi précis que lui dans mon explication.

Papou, je ne suis plus trop présent ici, car il y a trop de questions
relatives aux clignotements de cellules et autres recherches pour épater les copains.

J'avoue Yves ne pas saisir ton message : il y a pourtant des questions souvent intéressantes, qui obligent les neurones des retraités que nous sommes à ne pas s'endormir prématurément. Mais bon, prends ton temps pour emplir ton bidon, c'est ce qui reste le plus important à notre âge, n'est-il pas ?

J'attends également ta solution, il est toujours bon de voir ce qui se fait ailleurs, et ce dans tous les domaines de la vie. Par contre, je pense qu'elle oblige à enregistrer le fichier ainsi créé, alors que dans ma proposition ce n'est pas le cas : on peut quitter sans enregistrer. Mais bon, me diras-tu : pourquoi créer un classeur si on ne veut pas le conserver ? Je sèche à donner une réponse plausible, chacun y trouvera son avantage.

A bientôt.

Cordialement, et non moins Amicalement
 
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Re Bonsoir à tous,

prorudess: Je suis content que tu aies trouvé une solution qui te convienne.
Comme quoi XLD est le bon endroit où il faut venir chercher réponse.

Papou:
Tu as raison de dire qu'il y a des questions qui peuventêtre intéressantes
et posées par des personnes sympas qui méritent d'être aidées.

Il y a que je suis un gros fainéant qui a la flemme defouiller.
Aussi, et sans doute surtout, que mon domaine de connaissances est limité.

Ce cas d'étude me plait bien car il suppose plusieurs solutions:

1) On exporte latotalité du Classeur, et on revient lui supprimer les feuilles inutiles.
Voire, si nécessaire certains composants du projet ou en annihiler contenu par des "Rem".
(Il y aura lieu d'automatiser l'interdiction de l'activationdes Macros)

2) On ne conserve dans le Classeur Maître que cequi nous intéresse.
c.a.d. tout sauf ce que l'on a transféré dans le nouveau Classeur créé.

3) On met à la corbeille le classeur Maître s'il est devenu inutile.

Tout en écrivant ceci, je réalise qu'il y a une foultitude de possibilités,
mais qu'il serait plus simple de gérer tout cela avec un Classeur externe.

Encore faudrait-il que de passer par VBA soit plus rapide et efficace que
de faire ces manipulations manuellement!!!

Voir ici une de mes bidouilles traitant un peu du sujet.
http://www.excel-downloads.com/forum/183602-stocker-dans-un-dossier-tous-les-composants-de-ses-applis-pour-recherches-ulterieures-2.html#post1137661

Il serait possible d'extrapoler.

Cependant, je vais tenter de faire plus simple dans l'esprit de la question de prorudess.

Demain!............ Car à cette heure, pépé est fatigué :p

Amicalement,

Yves
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Bonjour à tous

J'ai cette macro qui permet d'extraire dans une feuille tous les codes d'un classeur. A voir si c'est transposable sur un nouveau classeur :confused:.
 

Pièces jointes

  • Liste_Macros_Classeur.xlsm
    22.2 KB · Affichages: 18
  • Liste_Macros_Classeur.xls
    45.5 KB · Affichages: 22
Dernière édition:

YANN-56

XLDnaute Barbatruc
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Bonjour aux participants et à ceux qui passeront par ici,

J'ai tenté de construire un truc ce matin,
mais je dois avouer que j'arrive à une usine à gaz pas bouffable,
et même un peu dangereuse en cas d'une erreur de rédaction des chemins.

Je suis désolé Prorudess,
mais il n'y aurait rien de mieux que ce que tu as déjà fait ni que ce qu'il t'a été proposé.

Amicalement, et te souhaitant belle réussite dans ton projet.

Bonne journée à tous,

Yves
 

prorudess

XLDnaute Junior
Re : Creer un nouveau classeur en exportant une feuille excel et les objets VB

Bonjour,

Merci à tous pour votre aide.
J'ai réussi à faire ce que je voulais en exportant seulement la feuille qui m’intéressait et en plaçant tout le code VBA dont j'avais besoins dans celle-ci (Donc sans USERFORM).

Par contre un problème demeure :

Le projet VBA de mon classeur original est protégé par un mot de passe.
Lorsque je copie une feuille de celui-ci vers un nouveau classeur, cette protection disparait (ce qui est normal à première vue)
Comment puis-je faire pour remettre cette protection du projet VBA une fois cette feuille copiée.

D'avance merci de votre aide.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise