Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

CREER CLASSEUR, ET LE NOMMER

Y

Yves

Guest
Bonsoir à tous

J'utilise un classeur avec de nombreuses feuilles et calculs lourds.

Il m'importe de stocker seulement les données ponctuelles et leurs résultats dans un nouveau classeur créé à cet effet.

Je sais déjà, grace à vous comment fermer le premier sans en enregistrer les modifs.

Merci, l'aide à été super.

Quant à créer un nouveau classeur, lui donner un nom tiré d'une boite de dialogue ou d'ailleurs, j'ai piqué plein de trucs à droite ou à gauche, mais ploufffff !!!

Merci d'avance

Bonne soirée et bon W.E

Yves
 
M

Moa

Guest
Salut Yves !

Voici ma façon de procéder :

Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Copy
ActiveWorkbook.SaveAs Sheets("Feuil1").Range("B2").Value

Dans ce cas, j'ai mis le nom que je voulais donner à ce nouveau classeur en cellule B2 de la feuille 1

Maintenant, tu peux aussi, éffacer les formules, et ne garder que les valeurs de chaque feuille en faisant :

Sheets("Feuil1").Select
Range("A1:G15") = Range("A1:G15").Value

Tu peux aussi renommer tes onglets :

Sheets(Feuil1").Name = Range ("A3").Value

Ou avec un nom prédéfini : Sheets(Feuil1").Name = "FeuilleBofBis"

Ou même en cumulant les deux :

Sheets(Feuil1").Name = Range ("A3").Value & "Bof"

Puis finir comme ça :

'Fermer sans sauvegarder et sans message d'alerte le classeur original

Windows("TonClasseurOrigine").Activate
Application.DisplayAlerts = False
ActiveWorbook.Close
Application.DisplayAlerts = True


'Sauvegarder et fermer le nouveau classeur

ActiveWorbook.Save
ActiveWorbook.Close

Tu remarqueras, que je fais deux sauvegardes de mon nouveau classeur.

ActiveWorkbook.SaveAs Sheets("Feuil1").Range("B2").Value

Puis tout à la fin : ActiveWorbook.Save

C'est du au fait que je fais des modifs dans les feuilles que j'ai copiées, donc dans un premier temps le classeur est créé et existe, puis je le modifie et l'enregistre de nouveau.

Ah une chose importante !

Je n'ai pas spécifié de répertoire de sauvegarde.

En fait, si tu vas dans le menu Outils / Option / Général / DossierParDéfaut, tu verras qu'il y a un chemin qui mène au répertoire "Mes Documents".

Et si tu ne spécifies pas dans ta macro, le répertoire et son chemin d'accès, Excel, enregistrera ton fichier dans ce répertoire par défaut.

Ceci dit, tu peux, changer le répertoire avec son chemin d'accès, directement dans cet onglet.

Et voilà, fait en premier avec l'enregistreur de macro, puis modifier à ma guise dans le Vbe.

Ceci dit, ma macro est beaucoup plus longue et complexe, car en fait je remanie toutes mes feuilles, mais tu as là, l'essentiel pour ce que tu veux faire.

Bonne nuit

Moa
 
Y

Yves

Guest
Merci beaucoup MOA

Cela semble être exactement ce que je cherchais.

De quoi avancer et occuper cet après-midi pluvieux.

Je t'informe du résultat

Bonne journée à toi.

Yves
 
Y

Yves

Guest
Bonjour MOA

Cela marche à merveille!

(Sauf que je n'arrive tjrs pas à spécifier un autre répertoire de destination
dans ma macro)

Je cherche. Je vais bien finir par trouver.

Merci encore.

Yves
 
M

Moa

Guest
Salut Yves !

Regarde, fait à l'instant avec l'enregistreur de macro et testé 3 fois.

ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Robin\Bureau\ExcelActu\Classeur1test.xls"

@ +

Moa
 
Y

Yves

Guest
Merci pour l'aide.

J'avais mis une caisse de guillemets et de paranthèses en trop.

Pour les types pas trop doués comme moi, ce forum est super.

Bonne fin de W.E. à toi

Yves
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…