Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier.
Peut-être que je me suis mal débrouillée...
Faut-il placer un 2ème "Private Sub" ?
Ou bien puis-je tout rentrer sous le même ?
Merci
chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose.
Non ?
Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi.
Cordialement
Pascal
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
papou
Re Je crois qu'il va falloir modifier quelque peu ta procédure. Voici une proposition : 1 - Dans un module standard Public NomdeFichier Sub EnregistreAvecNom() NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If NomdeFichier = False Then Exit Sub Application.EnableEvents = False ThisWorkbook.SaveAs NomdeFichier Application.EnableEvents = True End Sub 2 - Dans Thisworkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) If ThisWorkbook.Saved = False Then _ EnregistreAvecNom End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier. Peut-être que je me suis mal débrouillée... Faut-il placer un 2ème "Private Sub" ? Ou bien puis-je tout rentrer sous le même ? Merci chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose. Non ? Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi. Cordialement Pascal
"chrislio" a écrit dans le message de news:
Papou !!! Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et sans cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne reprend pas la référence de la cellule. Peut-on aller aussi loin dans la macro ?
Merci de ton aide. chrislio
"papou" wrote:
Bonjour Tant qu'à faire, je te suggère de modifier plutôt comme ça : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If nomdefichier = False Then Cancel = True Else Application.EnableEvents = False ThisWorkbook.SaveAs nomdefichier: End If Application.EnableEvents = True End Sub Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci de votre aide pour la macro...lorsqu'elle se déclenche, le nom d'enregistrement est bien celui qu'une des cellules du fichier contient. Par contre mais si je fais "Annuler" et bien se réouvre une même fenêtre d'enregistrement et on me repropose par défault le nom du classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide. L'historique de mes mails échangés se trouve ci-dessous.
@+ chrislio
Bonjour Place les mêmes lignes dans l'évènement BeforeSave Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show _ CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value) End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci mais est-ce une information à rentrer dans la macro ?? Je ne suis vraiment as une "douée" dans le langage VBA et sous Excel ?
Merci de ton retour. Bon Dimanche ! Chrislio
bonjour chrislio il faut simplement choisir Fichier/Enregistrer (ctrl s)
Merci de votre aide. Peut-être faut-il ajouter quelque chose à la macro ou bien peut-êre existe-t-il une autre maniÃsre d'y arriver ?!!?
Merci de votre aide. @+ Chrislio
Re
Je crois qu'il va falloir modifier quelque peu ta procédure.
Voici une proposition :
1 - Dans un module standard
Public NomdeFichier
Sub EnregistreAvecNom()
NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de
Fichier")
If NomdeFichier = False Then Exit Sub
Application.EnableEvents = False
ThisWorkbook.SaveAs NomdeFichier
Application.EnableEvents = True
End Sub
2 - Dans Thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then _
EnregistreAvecNom
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If Not ThisWorkbook.Name Like [qualite] Then
EnregistreAvecNom
Else: Exit Sub
End If
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le message de
news: 3005BFC6-1993-4930-80CE-D55B5B9AA5B7@microsoft.com...
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier.
Peut-être que je me suis mal débrouillée...
Faut-il placer un 2ème "Private Sub" ?
Ou bien puis-je tout rentrer sous le même ?
Merci
chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose.
Non ?
Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi.
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le message
de
news: 536B4478-AF36-42E3-BC71-ED2E6104DA36@microsoft.com...
Papou !!!
Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et sans
cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne
reprend
pas
la référence de la cellule.
Peut-on aller aussi loin dans la macro ?
Merci de ton aide.
chrislio
"papou" wrote:
Bonjour
Tant qu'à faire, je te suggère de modifier plutôt comme ça :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de
Fichier")
If nomdefichier = False Then
Cancel = True
Else
Application.EnableEvents = False
ThisWorkbook.SaveAs nomdefichier: End If
Application.EnableEvents = True
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le
message
de
news: 1586D473-15EB-422E-822B-DAB4C7A30723@microsoft.com...
Bonjour !
Merci de votre aide pour la macro...lorsqu'elle se déclenche, le
nom
d'enregistrement est bien celui qu'une des cellules du fichier
contient.
Par contre mais si je fais "Annuler" et bien se réouvre une même
fenêtre
d'enregistrement et on me repropose par défault le nom du
classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide.
L'historique de mes mails échangés se trouve ci-dessous.
@+
chrislio
Bonjour
Place les mêmes lignes dans l'évènement BeforeSave
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
As
Boolean)
Application.Dialogs(xlDialogSaveAs).Show _
CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value)
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le
message
de
news: 09935FA0-5D9F-4FBA-B4BA-08166F163C70@microsoft.com...
Bonjour !
Merci mais est-ce une information à rentrer dans la macro ??
Je ne suis vraiment as une "douée" dans le langage VBA et sous
Excel
?
Merci de ton retour.
Bon Dimanche !
Chrislio
bonjour chrislio
il faut simplement choisir Fichier/Enregistrer (ctrl s)
Re Je crois qu'il va falloir modifier quelque peu ta procédure. Voici une proposition : 1 - Dans un module standard Public NomdeFichier Sub EnregistreAvecNom() NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If NomdeFichier = False Then Exit Sub Application.EnableEvents = False ThisWorkbook.SaveAs NomdeFichier Application.EnableEvents = True End Sub 2 - Dans Thisworkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) If ThisWorkbook.Saved = False Then _ EnregistreAvecNom End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier. Peut-être que je me suis mal débrouillée... Faut-il placer un 2ème "Private Sub" ? Ou bien puis-je tout rentrer sous le même ? Merci chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose. Non ? Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi. Cordialement Pascal
"chrislio" a écrit dans le message de news:
Papou !!! Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et sans cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne reprend pas la référence de la cellule. Peut-on aller aussi loin dans la macro ?
Merci de ton aide. chrislio
"papou" wrote:
Bonjour Tant qu'à faire, je te suggère de modifier plutôt comme ça : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If nomdefichier = False Then Cancel = True Else Application.EnableEvents = False ThisWorkbook.SaveAs nomdefichier: End If Application.EnableEvents = True End Sub Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci de votre aide pour la macro...lorsqu'elle se déclenche, le nom d'enregistrement est bien celui qu'une des cellules du fichier contient. Par contre mais si je fais "Annuler" et bien se réouvre une même fenêtre d'enregistrement et on me repropose par défault le nom du classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide. L'historique de mes mails échangés se trouve ci-dessous.
@+ chrislio
Bonjour Place les mêmes lignes dans l'évènement BeforeSave Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show _ CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value) End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci mais est-ce une information à rentrer dans la macro ?? Je ne suis vraiment as une "douée" dans le langage VBA et sous Excel ?
Merci de ton retour. Bon Dimanche ! Chrislio
bonjour chrislio il faut simplement choisir Fichier/Enregistrer (ctrl s)
Merci de votre aide. Peut-être faut-il ajouter quelque chose à la macro ou bien peut-êre existe-t-il une autre maniÃsre d'y arriver ?!!?
Merci de votre aide. @+ Chrislio
papou
En complément un exemple ici : http://cjoint.com/data/cvpnVa8UAa.htm Cordialement Pascal
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
Re Je crois qu'il va falloir modifier quelque peu ta procédure. Voici une proposition : 1 - Dans un module standard Public NomdeFichier Sub EnregistreAvecNom() NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If NomdeFichier = False Then Exit Sub Application.EnableEvents = False ThisWorkbook.SaveAs NomdeFichier Application.EnableEvents = True End Sub 2 - Dans Thisworkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) If ThisWorkbook.Saved = False Then _ EnregistreAvecNom End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier. Peut-être que je me suis mal débrouillée... Faut-il placer un 2ème "Private Sub" ? Ou bien puis-je tout rentrer sous le même ? Merci chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose. Non ? Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi. Cordialement Pascal
"chrislio" a écrit dans le message de news:
Papou !!! Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et sans cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne reprend pas la référence de la cellule. Peut-on aller aussi loin dans la macro ?
Merci de ton aide. chrislio
"papou" wrote:
Bonjour Tant qu'à faire, je te suggère de modifier plutôt comme ça : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If nomdefichier = False Then Cancel = True Else Application.EnableEvents = False ThisWorkbook.SaveAs nomdefichier: End If Application.EnableEvents = True End Sub Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci de votre aide pour la macro...lorsqu'elle se déclenche, le nom d'enregistrement est bien celui qu'une des cellules du fichier contient. Par contre mais si je fais "Annuler" et bien se réouvre une même fenêtre d'enregistrement et on me repropose par défault le nom du classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide. L'historique de mes mails échangés se trouve ci-dessous.
@+ chrislio
Bonjour Place les mêmes lignes dans l'évènement BeforeSave Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show _ CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value) End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci mais est-ce une information à rentrer dans la macro ?? Je ne suis vraiment as une "douée" dans le langage VBA et sous Excel ?
Merci de ton retour. Bon Dimanche ! Chrislio
bonjour chrislio il faut simplement choisir Fichier/Enregistrer (ctrl s)
Merci de votre aide. Peut-être faut-il ajouter quelque chose à la macro ou bien peut-êre existe-t-il une autre maniÃsre d'y arriver ?!!?
Merci de votre aide. @+ Chrislio
En complément un exemple ici :
http://cjoint.com/data/cvpnVa8UAa.htm
Cordialement
Pascal
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
eyG6m3BGFHA.1296@TK2MSFTNGP10.phx.gbl...
Re
Je crois qu'il va falloir modifier quelque peu ta procédure.
Voici une proposition :
1 - Dans un module standard
Public NomdeFichier
Sub EnregistreAvecNom()
NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de
Fichier")
If NomdeFichier = False Then Exit Sub
Application.EnableEvents = False
ThisWorkbook.SaveAs NomdeFichier
Application.EnableEvents = True
End Sub
2 - Dans Thisworkbook
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Saved = False Then _
EnregistreAvecNom
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If Not ThisWorkbook.Name Like [qualite] Then
EnregistreAvecNom
Else: Exit Sub
End If
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le message de
news: 3005BFC6-1993-4930-80CE-D55B5B9AA5B7@microsoft.com...
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier.
Peut-être que je me suis mal débrouillée...
Faut-il placer un 2ème "Private Sub" ?
Ou bien puis-je tout rentrer sous le même ?
Merci
chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose.
Non ?
Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi.
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le
message de
news: 536B4478-AF36-42E3-BC71-ED2E6104DA36@microsoft.com...
Papou !!!
Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et
sans
cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne
reprend
pas
la référence de la cellule.
Peut-on aller aussi loin dans la macro ?
Merci de ton aide.
chrislio
"papou" wrote:
Bonjour
Tant qu'à faire, je te suggère de modifier plutôt comme ça :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
As
Boolean)
nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de
Fichier")
If nomdefichier = False Then
Cancel = True
Else
Application.EnableEvents = False
ThisWorkbook.SaveAs nomdefichier: End If
Application.EnableEvents = True
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le
message
de
news: 1586D473-15EB-422E-822B-DAB4C7A30723@microsoft.com...
Bonjour !
Merci de votre aide pour la macro...lorsqu'elle se déclenche, le
nom
d'enregistrement est bien celui qu'une des cellules du fichier
contient.
Par contre mais si je fais "Annuler" et bien se réouvre une même
fenêtre
d'enregistrement et on me repropose par défault le nom du
classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide.
L'historique de mes mails échangés se trouve ci-dessous.
@+
chrislio
Bonjour
Place les mêmes lignes dans l'évènement BeforeSave
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel
As
Boolean)
Application.Dialogs(xlDialogSaveAs).Show _
CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value)
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le
message
de
news: 09935FA0-5D9F-4FBA-B4BA-08166F163C70@microsoft.com...
Bonjour !
Merci mais est-ce une information à rentrer dans la macro ??
Je ne suis vraiment as une "douée" dans le langage VBA et sous
Excel
?
Merci de ton retour.
Bon Dimanche !
Chrislio
bonjour chrislio
il faut simplement choisir Fichier/Enregistrer (ctrl s)
En complément un exemple ici : http://cjoint.com/data/cvpnVa8UAa.htm Cordialement Pascal
"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:
Re Je crois qu'il va falloir modifier quelque peu ta procédure. Voici une proposition : 1 - Dans un module standard Public NomdeFichier Sub EnregistreAvecNom() NomdeFichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If NomdeFichier = False Then Exit Sub Application.EnableEvents = False ThisWorkbook.SaveAs NomdeFichier Application.EnableEvents = True End Sub 2 - Dans Thisworkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) If ThisWorkbook.Saved = False Then _ EnregistreAvecNom End Sub Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
"chrislio" wrote:
Le problème c'est qu'il me demande 2 ou 3x l'enregistrement du fichier. Peut-être que je me suis mal débrouillée... Faut-il placer un 2ème "Private Sub" ? Ou bien puis-je tout rentrer sous le même ? Merci chrislio
"papou" wrote:
Oui, il me semble que tu utilisais déjà l'évènement BeforeClose. Non ? Dans ce cas, il faut utiliser les mêmes lignes pour cet évènement aussi. Cordialement Pascal
"chrislio" a écrit dans le message de news:
Papou !!! Si je ferme excel sans cliquer sur 'Fichier/enregistrer sous" et sans cliquer sur "x" du fichier même mais sur "x" du logiciel, il ne reprend pas la référence de la cellule. Peut-on aller aussi loin dans la macro ?
Merci de ton aide. chrislio
"papou" wrote:
Bonjour Tant qu'à faire, je te suggère de modifier plutôt comme ça : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) nomdefichier = Application.GetSaveAsFilename([qualite], , , "Nom de Fichier") If nomdefichier = False Then Cancel = True Else Application.EnableEvents = False ThisWorkbook.SaveAs nomdefichier: End If Application.EnableEvents = True End Sub Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci de votre aide pour la macro...lorsqu'elle se déclenche, le nom d'enregistrement est bien celui qu'une des cellules du fichier contient. Par contre mais si je fais "Annuler" et bien se réouvre une même fenêtre d'enregistrement et on me repropose par défault le nom du classeur.
Est-ce que l'on peut agir sur ce point ?
Merci de votre aide. L'historique de mes mails échangés se trouve ci-dessous.
@+ chrislio
Bonjour Place les mêmes lignes dans l'évènement BeforeSave Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Application.Dialogs(xlDialogSaveAs).Show _ CStr(ThisWorkbook.ActiveSheet.Range("qualite").Value) End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci mais est-ce une information à rentrer dans la macro ?? Je ne suis vraiment as une "douée" dans le langage VBA et sous Excel ?
Merci de ton retour. Bon Dimanche ! Chrislio
bonjour chrislio il faut simplement choisir Fichier/Enregistrer (ctrl s)