macro enregistrer fichier avant utilisation

iStarOSX

XLDnaute Junior
Bonjour a tous les Exceliens.

Voila j'ai créer une application pour excel 2003 a 2010.

Pour que les utilisateurs y est facilement accès, je l'ai mise en format modèle ".xlt"

Dans mon application, j'ai des macros qui ont besoins que le classeur excel soit dans un répertoires (répertoire choisit par l'utilisateurs au moment ou il a enregistré le classeur excel) .

Si l'utilisateur ouvre le modèle et qu'il utilise mon fichier sans l'enregistrer dans le répertoire de sont choix, mon application ne fonctionne plus.

Je cherche donc a faire une macro qui lorsque l'on ouvre le modèle (.xlt) la macro demande a l'utilisateur "d'enregistrer sous" et en cas d'annulation, un message box demande de confirmer si il veut annuler, et qu'en cas d'annulation le classeur soit fermé sans enregistrer.

Lors de la réouverture du fichier qui vient d'être créé, je voudrais que cette macro soit désactivé (vu que le fichier a déjà été enregistré sous).

J'avais commencé un bout de code, mais je ne sais pas comment faire pour le bout de code qui active ou désactive cette macro.

Code:
Private Sub Workbook_Open()



CODE POUR ACTIVER OU DESACTIVER LA MACRO ENREGISTRER SOUS




FichierEnregistrerSous = Application.GetSaveAsFilename(NomEtChemin, fileFilter:="Fichiers Microsoft Excel (*.xls), *.xls")
If FichierEnregistrerSous <> False Then
Affichage = MsgBox("Vous allez enregistrer " & NomFichier & " sous :" & Chr(10) & Chr(10) & FichierEnregistrerSous, , "Enregistrement du fichier")
Else
GoTo LaFin
End If

If Dir(FichierEnregistrerSous) <> "" Then
Affichage = MsgBox("Un fichier du même nom existe déjà à cet emplacement." & _
Chr(10) & Chr(10) & "Renommez le ou supprimer le.", vbExclamation, "NDLR")
GoTo EnregistrerSous
End If

ActiveWorkbook.SaveAs Filename:=FichierEnregistrerSous, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=True


LaFin:
End Sub


Ci quelqu’un a une solution, merci d'avance.
 

tototiti2008

XLDnaute Barbatruc
Re : macro enregistrer fichier avant utilisation

Bonjour iStarOX,

Peut-être tester la valeur de Thisworkbook.Path (j'ai essayé Thisworkbook.Saved mais visiblement il renvoit True à chaque fois)
si vide, le classeur n'a jamais été enregistré...
 

iStarOSX

XLDnaute Junior
Re : macro enregistrer fichier avant utilisation

Merci tototiti2008

Bon je n'ai pas réussi avec ta solution, mais j'ai fais un truc a ma sauce qui semble fonctionner.

J'ai mis dans une cellule de mon modele la valeur "1" et fais une macro qui se lance a l'ouverture du fichier. Si elle détecte qu'il y a la valeur "1", elle execute la macro "enregistrer sous..." et remplace le "1" de la valeur de la cellule par "". Et lors de la réouverture du classeur créer, comme la valeur n'est pas "1", la macro "enregistrer sous ne s'execute pas.

C'est peut-être pas catholique comme méthode, mais cela fonctionne.

Encore merci pour ton aide
 

Discussions similaires

Statistiques des forums

Discussions
311 715
Messages
2 081 822
Membres
101 822
dernier inscrit
holale