Créer un nouveau classeur à partir d'une macro en modifiant son nom

Bonjour à tous,

Nouvelle venue sur le Forum d'Excel Pratique et débutante en VBA avec un niveau intermédiaire faible en EXCEL), je rejoins ce groupe de passionnés d'EXCEL et VBA.

J'espère apprendre beaucoup auprès de vous et commencer d'ici quelques semaines à vous aider à mon tour dans la résolution de problèmes !

Voici ma question :

Je suis dans un classeur Classeur1 et à partir de là, je dois créer une macro qui doit créer un classeur nommé C2 (une macro va ensuite récupérer des données sur le web, les mettre en forme et les classer).

Cette seconde macro doit-elle d'ailleurs figurer dans le code du classeur Classeur1 ou C2?

Ci-dessous mon code qui fonctionne partiellement puisque le classeur Classeur 1 apparait bien sur le bureau mais sans en changer le nom (???) et qui ne l'enregistre pas non plus sur le bureau (???).

De plus, il y a un message d'erreur que je n'arrive pas à enlever à l'exécution avec un code erreur 438:

image

*********************************

Sub macroM()

'Création d'un nouveau classeur, l'enregistrer à un emplacement donné et le renommer en C2
Workbooks.Add("Classeur1.xlsx")
ActiveWorkbook.SaveAsFilename = "C:\.......\Bureau\C2.xlsx"
Workbooks("C2.xlsx").Activate

'Sauvegarder le classeur actif C2
ActiveWorkbook.Save

End Sub

********************************

Est-ce que quelqu'un pourrait m'aider s'il vous plait?

Merci à tous.

Cordialement

Fraise678

Bonjour Fraise, bonjour le forum,

Le code ci-dessous commenté devrait te mettre sur la voie. Il doit être placer dans le classeur C1.xlsm qui sera bien évidement ouvert.

Sub macroM()
Dim CS As Workbook 'déclare la variable CS (Classeur Source)
Dim NC As Workbook 'déclare la variable NC (Nouveau Classeur)
Dim CA As String 'déclare la variable CA (Chemin d'Accès)

Set CS = ThisWorkbook 'définit le classeur source CS
CA = CS.Path 'définit le chemin d'accès CA
Workbooks.Add 'ajoute un classeur vierge
Set NC = ActiveWorkbook 'définit le nouveau classeur NC
NC.SaveAs CA & "\C2", FileFormat:=52 'enregistre sous le nouveau classeur dans le même dossier que le classeur source

' à partir de là tout le code qui concerne le classeur C2 doit commencer par NC (par ecemple) :
NC.Worksheets(1).Range("A1:G10").Interior.ColorIndex = 5

'à la fin
NC.Save 'sauve les modifications faites au nouveau classeur
CS.Close False 'ferme le classeur source sans l'enregistrer
End Sub

Bonjour Thau Theme,

Merci pour ton aide ;)

J'ai adapté ton code et ça marche : je n'ai pas le message d'erreur mais je ne comprends toujours pourquoi quand je réadapte ton code en mettant des noms plus courts de variables et en modifiant le chemin d'accès sur le Bureau j'ai toujours le message d'erreur suivant: erreur 438

image

Il faut que j'appuie sur Fin pour que ça finalise l'opération.

Pourquoi?

Est-ce que quelqu'un d'autre a une idée sur le sujet?

Merci encore.

Cordialement

Fraise

Re,

Il eût été malin de nous fournir le code que tu as modifié...

Rechercher des sujets similaires à "creer nouveau classeur partir macro modifiant nom"