Macro Excel : exporter une feuille et la sauvarder comme classeur

mnt2006 Messages postés 6 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 13 septembre 2006 - 12 sept. 2006 à 23:09
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 14 sept. 2006 à 17:43
Bonjour à tous, 1er post d'un novice sur ce forum et je remercie ceux ou celles qui me viendront en aide.

Mon objectif est le suivant : construire une macro Excel permettant de créer un nouveau classeur à partir d'une feuille d'un classeur différent et faire en sorte que la macro continue de travailler sur le nouveau classeur.

J'explique

J'ai construit un classeur Excel de plusieus feuilles qui génére des devis. J'ai écrit une macro qui me reprend des éléments de plusieurs feuilles et les place dans une feuille temporaire. La macro continue en copiant cette feuille temp dans un nouveau classeur. Quel est le code que je dois ajouter à la macro pour que ce nouveau classeur soit : sélectionné, sauvegardé avec un nom de fichier composé de valeurs de certaines cellules dans ce classeur, puis fermé le classeur ?

Au passage, dans la macro je copie-colle 2 feuilles avant de les supprimer, mais dans le déroulement de la macro une boite de dialogue s'ouvre me demandant de confimer la suppression des classeurs, comment faire pour que cette suppression se fasse en auto sans avoir à cliquer ?

Facile, non ?  je suis prêt à donner plus d'explications mais il me faut une réponse rapide.

En tous cas merci d'avance.

4 réponses

Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
13 sept. 2006 à 09:49
Salut !
Pour la boite de dialogue, il te suffit de mettre
Application.DisplayAlerts = False

Pour la suite :
Dim NouveauClas As New Workbook 'Le nouveau classeur
NouveauClas.Sheets.Add Temp 'Ajout de la feuille temporaire
NouveauClas.Activate 'Sélectionné

Pour le nom de fichier, voici un exemple utilisant les cellules A1 et B1 qui contiennent par exemple respectivement le jour et le mois.

NouveauClas.SaveAs "Fichier du " & Range("A1") & "/" & Range("B1")
NouveauClas.Close
0
mnt2006 Messages postés 6 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 13 septembre 2006
13 sept. 2006 à 22:20
Salut Julien237, merci pour ton aide, je vais essayer dès demain.
A+
0
mnt2006 Messages postés 6 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 13 septembre 2006
13 sept. 2006 à 23:14
j'aimerais une explication

si j'ai bien compris il faut remplacer NouveauClas par le nom du classeur ? mais la macro créée déjà un classeur et je ne connais pas son nom, il change tout le temps, il s'appelle Classeur1 ou Classeur2, etc... c'est celui là que je veu activer, enregistrer et fermer.
Pour le reste, super ça marche pour désactiver la boîte de dialoque. Merci encore
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
14 sept. 2006 à 17:43
Salut,
Il faut que tu connaisse le nom du classeur, c'est bizarre qu'il change tout le temps. Ce que tu peux faire pour le récupérer d'une autre manière, c'est de mettre, juste après y avoir ajouter la feuille Temp :
Dim NouveauClas as Workbook = Temp.Parent
Et puis la suite que je t'ai mise au dessus...
Si tu ne vois pas, copie nous ton code ce sera plus facile !

Julien.
0
Rejoignez-nous