Macro enregistrer nouveau projet

ezrielle

XLDnaute Occasionnel
Bonsoir à tous,

Je termine mon projet et grâce à votre aide je suis presque à la fin.

Encore une petite question SVP:

- J'ai crée un modèle vierge, grâce à une macro je l'appelle pour commencer un nouveau projet.
- Seulement j'aimerai enregistrer ce nouveau projet avec un nouveau nom.
Le problème c'est que avec ma macro enregistrer j'écrase l'ancien projet.

Sub EnregistrerOK()
'
' EnregistrerOK Macro
'

'
Range("D21").Select
ChDir "C:\Documents and Settings\MYPC\Bureau\Ezrielle"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\MYPC\Bureau\Ezrielle\ESSAI.xlsm", FileFormat:= _
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Range("I21").Select
End Sub


Je pensais qu'en faisant un copier coller du nom du nouveau projet lors de l'enregistrement de ma macro cela marcherait mais non.

Comment faut il faire pour que chaque projet est un nom qui lui est propre.

Encore MERCI beaucoup pour votre précieuse aide.

Ezrielle
 

kjin

XLDnaute Barbatruc
Re : Macro enregistrer nouveau projet

Re,
Je te rapelles que je suis sous xl2000 et donc je ne peux pas t'affirmer à 100% que les syntaxes sont correctes
Sous 2000, je n'ai aucun pb sauf si j'introduis des caractères interdits dans le nom du classeur, d'où ma question concernant le nom.
Je crois comprendre qu'il n'y a aucune boîte de message qui s'affiche t'indiquant l'erreur, ce qui m'étonne quelque peu.
Il se peut qu'il faille spécifier le format d'enregistrement mais sans certitude aucune, car logiquement, il devrait garder le format du fichier source
Code:
ActiveWorkbook.SaveAs(Rep & NewProjet, fileformat:=52)
Sinon, attendre Pascal ou un autre sous 2007
A+
kjin
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Macro enregistrer nouveau projet

RE

C'est le xlsm qui le génait en direct il faut ajouter un truc
Code:
Sub enregistrer()
'
' enregistrer Macro
'


Dim Rep As String, NewProjet As String


Rep = "C:\Documents and Settings\MYPC\Bureau\Ezrielle\"
NewProjet = Range("Nom_projet") & ".xlsm"

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Rep & NewProjet, FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True

End Sub
 

ezrielle

XLDnaute Occasionnel
Re : Macro enregistrer nouveau projet

Bonjour,

Je viens d'essayer ton code mais il y a un beugue, il me donne une erreur d'execution: 1004
La methode 'save as' de l'objet '_workbook' a échoué


Chez toi ca marche ?

Merci beaucoup pour ton aide

Ezirelle
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Macro enregistrer nouveau projet

re

oui

le _ en bout indique que ta ligne se continue en dessous
il ne faut donc pas oublier
xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
qui étati juste en dessous et qui est en fait la suite de ta ligne

tu pourrais tout mettre sur la même ligne si tu préfères

Code:
ActiveWorkbook.SaveAs Rep & NewProjet, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
 

kjin

XLDnaute Barbatruc
Re : Macro enregistrer nouveau projet

Bonjour,
Pascal
fileFormat:= 52 et xlOpenXMLWorkbookMacroEnabled c'est la même chose (xlsm).
Si le code format est omis et que le fichier enregistré contient des macros il conserve l'extension "xlsm", sinon il est enregistré en "xslx" (code 56)
D'après Use VBA SaveAs in Excel 2007
Est ce bien ça ?
Ezrielle, en mode pas à pas dans vbe et affichage des variables locales, peut-être aura tu l'information concernant l'erreur.
As tu testé directement
Code:
ActiveWorkbook.SaveAs "C:\Documents and Settings\MYPC\Bureau\Ezrielle\[I][COLOR="Blue"]LeNomduProjet[/COLOR][/I].xlsm", _
                        FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
A+
kjin
 

ezrielle

XLDnaute Occasionnel
Re : Macro enregistrer nouveau projet

Ok ca marche ya plus d'erreurs seulement ca enregistrer sous "le nom du projet"
ActiveWorkbook.SaveAs "C:\Documents and Settings\MYPC\Bureau\Ezrielle\LeNomduProjet.xlsm", _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

Cela ne prend pas en compte la cellule dans laquelle je marque le nom de mon projet.

Désolé de vous ennuyez

Merci pour votre aide
Ez
 

ezrielle

XLDnaute Occasionnel
Re : Macro enregistrer nouveau projet

Sub enregistrer()
'
' enregistrer Macro
'


Dim Rep As String, NewProjet As String


Rep = "C:\Documents and Settings\MYPC\Bureau\Ezrielle\"
NewProjet = Range("Nom_projet") & ".xlsm"

Application.DisplayAlerts = False
ActiveWorkbook.SaveAs "C:\Documents and Settings\MYPC\Bureau\Ezrielle\" & Range("Nom_projet") & ".xlsm" ,
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Application.DisplayAlerts = True

End Sub


Voila ce que j'ai inscrit mais j'ai toutjours une erreur au niveau du 2eme Nom_projet (cellule nommé où se trouve le nom pour enregitrement)

Je suis désolée d'abuser de votre patience.

Merci pour votre aide

Ez
 

Discussions similaires