bonjour,
Je reviens sur un sujet qui a d=E9j=E0 =E9t=E9 abord=E9 mais avec lequel je
n'arrive pas =E0 m'en sortir
J'ai cr=E9=E9 un fichier mod=E8le : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur cr=E9=E9 =E0 partir de
ce fichier mod=E8le, l'option "Enregistrer Sous" propose un nom que je
voudrais d=E9finir moi_m=EAme =E0 la place du classique
"classeur_modele1.xls"
en gros je voudrais juste intercepter le nom qui s'affiche dans la
boite de dialogue
J'ai essay=E9 d'utiliser respectivement dans la proc=E9dure
"beforesave":
FileSaveName =3D Application.GetSaveAsFilename("bidul", _
fileFilter:=3D"Fichiers xls (*.xls), *.xls")
If FileSaveName <> False Then
MsgBox "Enregistrer sous " & FileSaveName
End If
Mais il n'enregistre pas r=E9ellement.
ou :
reponse =3D Application.Dialogs(xlDialogSaveAs).Show(arg1:=3D"hahah")
Dans les deux cas, ils n'empechent pas l'execution de la proc=E9dure
enregister sous.
Ex, si je reviens sur
reponse =3D Application.Dialogs(xlDialogSaveAs).Show(arg1:=3D"hahah")
soit, je le laisse seul, effectivement il m'affiche ce qui m'int=E9resse
et me fait l'enregistrement. Mais le probl=E8me c'est que dans l'option
"enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel
qui me propose encore une fois d'enregistrer; et dans l'option
"Enregistrer", m=EAme si le fichier s'appelle d=E9j=E0 "hahah.xls" il
m'affiche quand m=EAme la boite de dialogue..
Soit, j'ajoute ensuite Cancel =3D true (pour =E9viter le doublon dans
"enregister sous") mais, du coup m=EAme ma boite de dialogue ne
s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche
dans la boite de dialogue "enregister sous"?
Cordialement. Daniel "Céline" a écrit dans le message de news:
bonjour, Je reviens sur un sujet qui a déjà été abordé mais avec lequel je n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je voudrais définir moi_même à la place du classique "classeur_modele1.xls" en gros je voudrais juste intercepter le nom qui s'affiche dans la boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": FileSaveName = Application.GetSaveAsFilename("bidul", _ fileFilter:="Fichiers xls (*.xls), *.xls") If FileSaveName <> False Then MsgBox "Enregistrer sous " & FileSaveName End If Mais il n'enregistre pas réellement. ou : reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous. Ex, si je reviens sur reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah") soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse et me fait l'enregistrement. Mais le problème c'est que dans l'option "enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel qui me propose encore une fois d'enregistrer; et dans l'option "Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il m'affiche quand même la boite de dialogue.. Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans "enregister sous") mais, du coup même ma boite de dialogue ne s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche dans la boite de dialogue "enregister sous"?
Cordialement.
Daniel
"Céline" <celine.michel1@gmail.com> a écrit dans le message de news:
1158218395.712466.232040@e3g2000cwe.googlegroups.com...
bonjour,
Je reviens sur un sujet qui a déjà été abordé mais avec lequel je
n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de
ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je
voudrais définir moi_même à la place du classique
"classeur_modele1.xls"
en gros je voudrais juste intercepter le nom qui s'affiche dans la
boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure
"beforesave":
FileSaveName = Application.GetSaveAsFilename("bidul", _
fileFilter:="Fichiers xls (*.xls), *.xls")
If FileSaveName <> False Then
MsgBox "Enregistrer sous " & FileSaveName
End If
Mais il n'enregistre pas réellement.
ou :
reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure
enregister sous.
Ex, si je reviens sur
reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse
et me fait l'enregistrement. Mais le problème c'est que dans l'option
"enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel
qui me propose encore une fois d'enregistrer; et dans l'option
"Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il
m'affiche quand même la boite de dialogue..
Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans
"enregister sous") mais, du coup même ma boite de dialogue ne
s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche
dans la boite de dialogue "enregister sous"?
Cordialement. Daniel "Céline" a écrit dans le message de news:
bonjour, Je reviens sur un sujet qui a déjà été abordé mais avec lequel je n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je voudrais définir moi_même à la place du classique "classeur_modele1.xls" en gros je voudrais juste intercepter le nom qui s'affiche dans la boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": FileSaveName = Application.GetSaveAsFilename("bidul", _ fileFilter:="Fichiers xls (*.xls), *.xls") If FileSaveName <> False Then MsgBox "Enregistrer sous " & FileSaveName End If Mais il n'enregistre pas réellement. ou : reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous. Ex, si je reviens sur reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah") soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse et me fait l'enregistrement. Mais le problème c'est que dans l'option "enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel qui me propose encore une fois d'enregistrer; et dans l'option "Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il m'affiche quand même la boite de dialogue.. Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans "enregister sous") mais, du coup même ma boite de dialogue ne s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche dans la boite de dialogue "enregister sous"?
Merci de vos conseils.... Céline
Céline
bonjour Daniel, merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu... i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je veux l'enregistrer... 2. je ve en plus uniquement proposer un nom après l'appel de la procédure Enregistrer sous et non aussi après l'appel de la procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ? Céline
bonjour Daniel,
merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu...
i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je
veux l'enregistrer...
2. je ve en plus uniquement proposer un nom après l'appel de la
procédure Enregistrer sous et non aussi après l'appel de la
procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ?
Céline
bonjour Daniel, merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu... i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je veux l'enregistrer... 2. je ve en plus uniquement proposer un nom après l'appel de la procédure Enregistrer sous et non aussi après l'appel de la procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ? Céline
FxM
Bonjour Céline,
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous.
Normal puisque lorsque tu est dans "beforesave", tu es déjà dans la procédure de sauvegarde et ce qui suit est effectué juste avant de sauvegarder. Si tu veux juste détecter la sauvegarde sans aller au bout, tu utilises le beforesave avec la première ligne cancel = true.
MAIS (ben oui, y'a un mais) comment réellement sauvegarder ? puisque sinon le cancel = true annule à chaque fois ... -> ne plus détecter le save pour ne pas déclencher le beforesave
Il te faut inhiber les évènements, sauvegarder puis réactiver les évènements. QQ chose comme : application.enableevents = false GetSaveAsFilename & co (...) activeworkbook.saveas trucmuche (n'oublies pas l'extension xls !) application.enableevents = true
Tu nous mets ton fichier sur cjoint.com si tu as un blème ?
@+ FxM
bonjour, Je reviens sur un sujet qui a déjà été abordé mais avec lequel je n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je voudrais définir moi_même à la place du classique "classeur_modele1.xls" en gros je voudrais juste intercepter le nom qui s'affiche dans la boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": FileSaveName = Application.GetSaveAsFilename("bidul", _ fileFilter:="Fichiers xls (*.xls), *.xls") If FileSaveName <> False Then MsgBox "Enregistrer sous " & FileSaveName End If Mais il n'enregistre pas réellement. ou : reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous. Ex, si je reviens sur reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah") soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse et me fait l'enregistrement. Mais le problème c'est que dans l'option "enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel qui me propose encore une fois d'enregistrer; et dans l'option "Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il m'affiche quand même la boite de dialogue.. Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans "enregister sous") mais, du coup même ma boite de dialogue ne s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche dans la boite de dialogue "enregister sous"?
Merci de vos conseils.... Céline
Bonjour Céline,
J'ai essayé d'utiliser respectivement dans la procédure
"beforesave":
Dans les deux cas, ils n'empechent pas l'execution de la procédure
enregister sous.
Normal puisque lorsque tu est dans "beforesave", tu es déjà dans la
procédure de sauvegarde et ce qui suit est effectué juste avant de
sauvegarder. Si tu veux juste détecter la sauvegarde sans aller au bout,
tu utilises le beforesave avec la première ligne cancel = true.
MAIS (ben oui, y'a un mais) comment réellement sauvegarder ?
puisque sinon le cancel = true annule à chaque fois ...
-> ne plus détecter le save pour ne pas déclencher le beforesave
Il te faut inhiber les évènements, sauvegarder puis réactiver les
évènements. QQ chose comme :
application.enableevents = false
GetSaveAsFilename & co (...)
activeworkbook.saveas trucmuche (n'oublies pas l'extension xls !)
application.enableevents = true
Tu nous mets ton fichier sur cjoint.com si tu as un blème ?
@+
FxM
bonjour,
Je reviens sur un sujet qui a déjà été abordé mais avec lequel je
n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de
ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je
voudrais définir moi_même à la place du classique
"classeur_modele1.xls"
en gros je voudrais juste intercepter le nom qui s'affiche dans la
boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure
"beforesave":
FileSaveName = Application.GetSaveAsFilename("bidul", _
fileFilter:="Fichiers xls (*.xls), *.xls")
If FileSaveName <> False Then
MsgBox "Enregistrer sous " & FileSaveName
End If
Mais il n'enregistre pas réellement.
ou :
reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure
enregister sous.
Ex, si je reviens sur
reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse
et me fait l'enregistrement. Mais le problème c'est que dans l'option
"enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel
qui me propose encore une fois d'enregistrer; et dans l'option
"Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il
m'affiche quand même la boite de dialogue..
Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans
"enregister sous") mais, du coup même ma boite de dialogue ne
s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche
dans la boite de dialogue "enregister sous"?
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous.
Normal puisque lorsque tu est dans "beforesave", tu es déjà dans la procédure de sauvegarde et ce qui suit est effectué juste avant de sauvegarder. Si tu veux juste détecter la sauvegarde sans aller au bout, tu utilises le beforesave avec la première ligne cancel = true.
MAIS (ben oui, y'a un mais) comment réellement sauvegarder ? puisque sinon le cancel = true annule à chaque fois ... -> ne plus détecter le save pour ne pas déclencher le beforesave
Il te faut inhiber les évènements, sauvegarder puis réactiver les évènements. QQ chose comme : application.enableevents = false GetSaveAsFilename & co (...) activeworkbook.saveas trucmuche (n'oublies pas l'extension xls !) application.enableevents = true
Tu nous mets ton fichier sur cjoint.com si tu as un blème ?
@+ FxM
bonjour, Je reviens sur un sujet qui a déjà été abordé mais avec lequel je n'arrive pas à m'en sortir
J'ai créé un fichier modèle : classeur_modele.xlt
J'aimerais que lorsqu'on travaille sur un classeur créé à partir de ce fichier modèle, l'option "Enregistrer Sous" propose un nom que je voudrais définir moi_même à la place du classique "classeur_modele1.xls" en gros je voudrais juste intercepter le nom qui s'affiche dans la boite de dialogue
J'ai essayé d'utiliser respectivement dans la procédure "beforesave": FileSaveName = Application.GetSaveAsFilename("bidul", _ fileFilter:="Fichiers xls (*.xls), *.xls") If FileSaveName <> False Then MsgBox "Enregistrer sous " & FileSaveName End If Mais il n'enregistre pas réellement. ou : reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah")
Dans les deux cas, ils n'empechent pas l'execution de la procédure enregister sous. Ex, si je reviens sur reponse = Application.Dialogs(xlDialogSaveAs).Show(arg1:="hahah") soit, je le laisse seul, effectivement il m'affiche ce qui m'intéresse et me fait l'enregistrement. Mais le problème c'est que dans l'option "enregistrer sous" j'ai ensuite la boite de dialogue standard d'exel qui me propose encore une fois d'enregistrer; et dans l'option "Enregistrer", même si le fichier s'appelle déjà "hahah.xls" il m'affiche quand même la boite de dialogue.. Soit, j'ajoute ensuite Cancel = true (pour éviter le doublon dans "enregister sous") mais, du coup même ma boite de dialogue ne s'affiche pas !
N'est-ce pas possible juste d'intercepter ce fichu nom qui s'affiche dans la boite de dialogue "enregister sous"?
Merci de vos conseils.... Céline
Daniel
Ca, peut-être :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim NomAProposer As String, Rep As String NomAProposer = "toto.xls" Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", , NomAProposer) Application.EnableEvents = False ActiveWorkbook.SaveAs Rep Application.EnableEvents = True Exit Sub End Sub
Daniel "Céline" a écrit dans le message de news:
bonjour Daniel, merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu... i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je veux l'enregistrer... 2. je ve en plus uniquement proposer un nom après l'appel de la procédure Enregistrer sous et non aussi après l'appel de la procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ? Céline
Ca, peut-être :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Dim NomAProposer As String, Rep As String
NomAProposer = "toto.xls"
Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", ,
NomAProposer)
Application.EnableEvents = False
ActiveWorkbook.SaveAs Rep
Application.EnableEvents = True
Exit Sub
End Sub
Daniel
"Céline" <celine.michel1@gmail.com> a écrit dans le message de news:
1158222984.714566.274890@k70g2000cwa.googlegroups.com...
bonjour Daniel,
merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu...
i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je
veux l'enregistrer...
2. je ve en plus uniquement proposer un nom après l'appel de la
procédure Enregistrer sous et non aussi après l'appel de la
procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ?
Céline
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim NomAProposer As String, Rep As String NomAProposer = "toto.xls" Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", , NomAProposer) Application.EnableEvents = False ActiveWorkbook.SaveAs Rep Application.EnableEvents = True Exit Sub End Sub
Daniel "Céline" a écrit dans le message de news:
bonjour Daniel, merci de te pencher sur mon problème
Mais ta solution revient au même que le problème que j'ai eu... i.e. :
1. il n'empeche pas excel de me redemander immédiatement après, si je veux l'enregistrer... 2. je ve en plus uniquement proposer un nom après l'appel de la procédure Enregistrer sous et non aussi après l'appel de la procédure Enregistrer !
est-ce que tu vois ce que je veux dire (pas facile à expliquer... ) ? Céline
Céline
De retour avec 10.000 neurones en surchauffe.... Mais un résultat ! Merci Daniel et FXM pour vos idées... juste je les reprends pour préciser les erreurs...
Daniel : Dim NomAProposer As String, Rep As String NomAProposer = "toto.xls" Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", , NomAProposer) Application.EnableEvents = False ActiveWorkbook.SaveAs Rep Application.EnableEvents = True Exit Sub --> il aurait fallu gérer le rep = FALSE qui me fait planter le SaveAs donc quelques tests en plus à faire
Mais effectivement, FxM c bien le enableeventsúlse qui me manquait PAr contre !! Il ne fallait (surtout) pas le mettre en premier , ca m'a désactivé direct la procédure beforeSave, donc plus rien ne se passait, il a fallu que je crée une procédure MaMacro pour le réafecter à true.... petit coup de stress LOL Bref, au final, j'ai quelque chose comme ça qui me convient tout à fait : dans BeforeSave toujours :
Dim Nom_propose As String Nom_propose = Get_A_File_Name (--> fonction qui me permet de définir mon nom_proposé à partir de certaines données) If Nom_propose <> Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) Then FileSaveName = Application.GetSaveAsFilename(Nom_propose, fileFilter:="Fichiers xls (*.xls), *.xls") Else FileSaveName = Nom_propose End If Application.EnableEvents = False Application.DisplayAlerts = False If FileSaveName <> False Then ActiveWorkbook.SaveAs FileSaveName Application.EnableEvents = True Application.DisplayAlerts = True Cancel = True
voilà, voilà; en tout cas merci beaucoup à vous deux pour vos conseils ! bonne journée Céline
De retour avec 10.000 neurones en surchauffe....
Mais un résultat !
Merci Daniel et FXM pour vos idées... juste je les reprends pour
préciser les erreurs...
Daniel :
Dim NomAProposer As String, Rep As String
NomAProposer = "toto.xls"
Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", ,
NomAProposer)
Application.EnableEvents = False
ActiveWorkbook.SaveAs Rep
Application.EnableEvents = True
Exit Sub
--> il aurait fallu gérer le rep = FALSE qui me fait planter le SaveAs
donc quelques tests en plus à faire
Mais effectivement, FxM c bien le enableevents=false qui me manquait
PAr contre !!
Il ne fallait (surtout) pas le mettre en premier , ca m'a désactivé
direct la procédure beforeSave, donc plus rien ne se passait, il a
fallu que je crée une procédure MaMacro pour le réafecter à
true.... petit coup de stress LOL
Bref, au final, j'ai quelque chose comme ça qui me convient tout à
fait :
dans BeforeSave toujours :
Dim Nom_propose As String
Nom_propose = Get_A_File_Name
(--> fonction qui me permet de définir mon nom_proposé à partir de
certaines données)
If Nom_propose <> Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) -
4) Then
FileSaveName = Application.GetSaveAsFilename(Nom_propose,
fileFilter:="Fichiers xls (*.xls), *.xls")
Else
FileSaveName = Nom_propose
End If
Application.EnableEvents = False
Application.DisplayAlerts = False
If FileSaveName <> False Then ActiveWorkbook.SaveAs FileSaveName
Application.EnableEvents = True
Application.DisplayAlerts = True
Cancel = True
voilà, voilà; en tout cas merci beaucoup à vous deux pour vos
conseils !
bonne journée
Céline
De retour avec 10.000 neurones en surchauffe.... Mais un résultat ! Merci Daniel et FXM pour vos idées... juste je les reprends pour préciser les erreurs...
Daniel : Dim NomAProposer As String, Rep As String NomAProposer = "toto.xls" Rep = InputBox("Si le nom ne vous convient pas, modifiez-le", , NomAProposer) Application.EnableEvents = False ActiveWorkbook.SaveAs Rep Application.EnableEvents = True Exit Sub --> il aurait fallu gérer le rep = FALSE qui me fait planter le SaveAs donc quelques tests en plus à faire
Mais effectivement, FxM c bien le enableeventsúlse qui me manquait PAr contre !! Il ne fallait (surtout) pas le mettre en premier , ca m'a désactivé direct la procédure beforeSave, donc plus rien ne se passait, il a fallu que je crée une procédure MaMacro pour le réafecter à true.... petit coup de stress LOL Bref, au final, j'ai quelque chose comme ça qui me convient tout à fait : dans BeforeSave toujours :
Dim Nom_propose As String Nom_propose = Get_A_File_Name (--> fonction qui me permet de définir mon nom_proposé à partir de certaines données) If Nom_propose <> Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) Then FileSaveName = Application.GetSaveAsFilename(Nom_propose, fileFilter:="Fichiers xls (*.xls), *.xls") Else FileSaveName = Nom_propose End If Application.EnableEvents = False Application.DisplayAlerts = False If FileSaveName <> False Then ActiveWorkbook.SaveAs FileSaveName Application.EnableEvents = True Application.DisplayAlerts = True Cancel = True
voilà, voilà; en tout cas merci beaucoup à vous deux pour vos conseils ! bonne journée Céline