Générer un nouveau classeur a partir d'un autre classeur

Netsuko2k

XLDnaute Nouveau
Bonjour tout le monde,

Je ne sais pas si ce post sera pertiment (c'est mon premier ^^).
Donc tout d'abord je vais expliquer mon projet.
J'ai réalisé une espéce d'interface( feuil 1 de mon classeur) sous excel qui permet de gérer plusieur domaine, elle est uniquement composée de Userform et de CheckBox (serve à masquer ou à afficher plusieurs lignes regroupés en catégorie dans la feuil2) .

Une fois les différents choix coché etc... on à notre feuil2 final avec les différents choix que nous désirons, c'est la que je bute je m'explique:


Je souhaiterais générer un autre classeur avec ces informations ( feuil2 Final ) soit:
-Ecrire le titre du classeur que je vais générer dans le premier
-La date etc....


Sa fait quelque temps que j'essaye de trouver une solution, j'ai réussi à pondre quelque ligne mais je bloque :(
j'ai essayé de trouver quelque chose sur différents forum mais en vain, HUUMMMMM qui sait ....

C'est pour cela que je crit a L'AIIIDEEEEEEE s'il vous plait un peu d'aide :p

PS: vous trouverais ci-joint des petit bout de mon programme en VBA



Pour le titre etc.. j'ai pensé a ce code la :

' Creation du nom de fichier

Nom_fichier = Worksheets("Extract").Range("M16").Value
Date_sel = Worksheets("Extract").Range("M21").Value
projet = Worksheets("Extract").Range("M18").Value

If Nom_fichier = "" Then

If projet = "" Then
Nom_fichier = "err"
Else:
tmp = Format(Date_sel, "yyyymmdd")
Nom_fichier = "Checklist revues conception produit & process - "

End If


Pour la génération du nouveau classeur :

' Début creation du fichier
If (Nom_fichier <> "err") Then

Message = MsgBox("Voulez vous créer le fichier '" & Nom_fichier & "' ?", vbYesNo)

If (Message = vbYes) Then

Sheets("Sommaire").Range("B15").Value = "Checklist revues conception produit & process - " & Chr(10) & Organe_sel & " " & projet

liste_wk(2) = "Sommaire"
liste_wk(1) = "Checklist"
liste_wk(0) = "Synthèse des points ouverts"

ThisWorkbook.Worksheets(liste_wk).Copy

ActiveWorkbook.SaveAs Nom_fichier & ".xls" ' Creation du nouveau fichier


Voila pour mon petit roman j'éspere au moin n'avoir pas étais flou dans mes explications et je vous remerci tous d'avace même si je n'ai pas de reponse d'avoir prit le temps d'avoir lu mon post.

Une petite photo de l'interface que j'ai réalisé :

Capturer.jpg
 

Pièces jointes

  • Capturer.jpg
    Capturer.jpg
    40.6 KB · Affichages: 102
  • Capturer.jpg
    Capturer.jpg
    40.6 KB · Affichages: 102

Modeste

XLDnaute Barbatruc
Re : Générer un nouveau classeur a partir d'un autre classeur

Bonsoir Nordine et bienvenue!

Pour ne pas laisser la demande sans réponse, en voici une qui vaut ce qu'elle vaut ...

Pourrais-tu, s'il-te-plaît, préciser quelle est la question!? J'ai lu ton message à deux reprises ... sans la trouver vraiment!?
Une image permet certainement de dire que ton interface a "de la gueule", mais je crains qu'elle n'aide pas à la compréhension du problème. Un extrait de ton fichier, avec des données "bidon" serait sans doute plus utile.
 

Netsuko2k

XLDnaute Nouveau
Re : Générer un nouveau classeur a partir d'un autre classeur

Bonjour Modest,

Tous d'abord merci pour avoir prit le temps de lire mon post ^^ et pour ton conseille.
Alors ma question est la suivante: De qu'elle manière je peux générer un autre classeur qui récupére les données séléctionnés du classeur initial ( j'essai d'amorcer cette génération avec un Bouton ).

Par contre pour transmettre le classeur je peux pas il et trop gros quoi 307ko mais je peux l'envoyer par mail ^^:eek:.

PS: Merci encore mais je sais pas si c'est super claire .
 

Modeste

XLDnaute Barbatruc
Re : Générer un nouveau classeur a partir d'un autre classeur

Bonjour,

L'idée, lorsqu'on suggère de joindre un fichier, n'est pas de disposer de toutes les données (tu peux donc ne conserver qu'un nombre limité d'enregistrements. Veille aussi à ce qu'aucune donnée confidentielle n'y subsiste).
Ceux qui tenteraient de te proposer une solution (et qui voudraient la tester au préalable) ne seront dès lors pas obligés d'imaginer la structure de ton fichier: les noms des feuilles, les données utilisées dans la macro, etc.
Comme par ailleurs, tu ne livres qu'un extrait de ton code, on se retrouve vite coincés! Tu utilises, par exemple une variable nommée Organe_sel dans ton code ... D'où vient-elle et que contient-elle? Que devient la variable tmp? N'intervient-elle pas dans la création du fichier?
Lorsque tu écris
Code:
liste_wk(2) = "Sommaire"
liste_wk(1) = "Checklist"
liste_wk(0) = "Synthèse des points ouverts"
Tu veux sélectionner 3 feuilles simultanément, pour les copier dans le nouveau classeur qui doit être créé?
Quant aux "If"s imbriqués avant la partie Pour la génération du nouveau classeur ... Alors là, il faudrait vraiment préciser ce que tu veux faire! :confused::confused:
 

Netsuko2k

XLDnaute Nouveau
Re : Générer un nouveau classeur a partir d'un autre classeur

Re Bonjour ^^

Alors oui je veux copier 3 feuille dansle classeur que je voudrait générer mm si le compte et plus éle vé en fin de compte et pour la variable Organe_sel elle contient seulement des donner ( classe que je n'est pas encort faite )

je te transmet mon doc de suite et pour la variable tmp c'est juste pour le format de la date et pour aussi la transferer dans le nouveau classeur

PS: ci-joint mon classeur et merci encort ^^ pour tout t'est conseil
 

Pièces jointes

  • proto V0.4.xlsm.zip
    291 KB · Affichages: 99

Modeste

XLDnaute Barbatruc
Re : Générer un nouveau classeur a partir d'un autre classeur

Re-bonjour aussi ;)

Si j'ai bien compris, il me semble que deux petites modifs pourraient faire l'affaire:

pour la copie des 2 feuilles, tu peux écrire
Code:
Sheets(Array("Questions", "Check-List Hardware")).Copy
... pour ne pas utiliser ta variable tableau (3 éléments prévus, mais liste_wk(0) reste vide!?)

Pour l'enregistrement, je présume que ton fichier devra toujours prendre en charge les macros!? Est-ce volontairement que tu l'enregistres au format ".xls" ? Sous Excel 2007, j'ai testé cette instruction (qui enregistre au format ".xlsm"):
Code:
ActiveWorkbook.SaveAs Nom_fichier & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled
... l'enregistreur de macro devrait te donner la bonne syntaxe, si tu cherches un autre format de fichier.
 

Netsuko2k

XLDnaute Nouveau
Re : Générer un nouveau classeur a partir d'un autre classeur

Bonjour,

Deja merci pour les corrections que tu a faite sur mon programme.:p
Oui l'enregistrement en .xls est voulu , et pour ce qui est des feuille a copier en tout j'en ai 5 donc je sais pas si je vais utiliser ta méthode et la méthode par les tableaux je vais bosser dessus aujourd'huit et en fonction de ce que je trouve et des piste que tu ma donné je vais essayer d'aboutir à quelque chose .

PS: je t'enverais le résultat final en esperant que j'y arrive :p
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 187
dernier inscrit
ebenhamel