Bonjour !
Merci Pascal de ton secours ! (je préfère dire ça !)
La macro fonctionne.
Par contre, si je fais "Fichier/Enregistre sous" et que j'annule et bien il
m'ouvre de nouveau une même fenêtre en ne me proposant plus le contenant de
ma cellule.
Que pouvons-nous y faire ?
Sinon, tout le reste fonctionne très bien, le nom d'enregistrement prend
bien la cellule.
Merci de ton aide ! :/
@+
Chrislio
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
Bonjour Modifie la partir BeforeSave comme ceci : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom ElseIf Not ThisWorkbook.Saved Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci Pascal de ton secours ! (je préfère dire ça !) La macro fonctionne. Par contre, si je fais "Fichier/Enregistre sous" et que j'annule et bien il m'ouvre de nouveau une même fenêtre en ne me proposant plus le contenant de ma cellule. Que pouvons-nous y faire ?
Sinon, tout le reste fonctionne très bien, le nom d'enregistrement prend bien la cellule. Merci de ton aide ! :/ @+ Chrislio
"papou" wrote:
Re Effectivement le fichier joint n'a pas fonctionné (M'enfin ??) Pour insérer un module standard, dans l'éditeur VBA : Insertion Module Cordialement Pascal
"chrislio" a écrit dans le message de news:
Merci Pascal. Très sympa de revenir vers moi.
L'exemple que tu me donnes ne marche pas...il s'ouvre en fichier texte... De plus, je dois faire des bêtises en enregistrant ta marco car ça ne marche pas.
Quand tu parles de module standard, il faut que j'insère un nouveau projet alors en parallèle de Thisworkbook ? Je ne sais pas ce qu'est un modle standard (=module de classe ??)
Tu sais je débute en Excel et parfois les mots n'ont pas le même sens avec le langage excel ! désolée de t'ennuyer.
Merci de ton retour. Chrislio
"papou" wrote:
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
Bonjour
Modifie la partir BeforeSave comme ceci :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
If Not ThisWorkbook.Name Like [qualite] Then
EnregistreAvecNom
ElseIf Not ThisWorkbook.Saved Then
EnregistreAvecNom
Else: Exit Sub
End If
End Sub
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le message de
news: CCD803E2-8677-4361-A732-2D36D33558A1@microsoft.com...
Bonjour !
Merci Pascal de ton secours ! (je préfère dire ça !)
La macro fonctionne.
Par contre, si je fais "Fichier/Enregistre sous" et que j'annule et bien
il
m'ouvre de nouveau une même fenêtre en ne me proposant plus le contenant
de
ma cellule.
Que pouvons-nous y faire ?
Sinon, tout le reste fonctionne très bien, le nom d'enregistrement prend
bien la cellule.
Merci de ton aide ! :/
@+
Chrislio
"papou" wrote:
Re
Effectivement le fichier joint n'a pas fonctionné (M'enfin ??)
Pour insérer un module standard, dans l'éditeur VBA :
Insertion Module
Cordialement
Pascal
"chrislio" <chrislio@discussions.microsoft.com> a écrit dans le message
de
news: 2F416552-8867-43DC-AC8A-ACF96C9E467E@microsoft.com...
Merci Pascal.
Très sympa de revenir vers moi.
L'exemple que tu me donnes ne marche pas...il s'ouvre en fichier
texte...
De plus, je dois faire des bêtises en enregistrant ta marco car ça ne
marche
pas.
Quand tu parles de module standard, il faut que j'insère un nouveau
projet
alors en parallèle de Thisworkbook ?
Je ne sais pas ce qu'est un modle standard (=module de classe ??)
Tu sais je débute en Excel et parfois les mots n'ont pas le même sens
avec
le langage excel ! désolée de t'ennuyer.
Merci de ton retour.
Chrislio
"papou" wrote:
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)
Bonjour Modifie la partir BeforeSave comme ceci : Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If Not ThisWorkbook.Name Like [qualite] Then EnregistreAvecNom ElseIf Not ThisWorkbook.Saved Then EnregistreAvecNom Else: Exit Sub End If End Sub
Cordialement Pascal
"chrislio" a écrit dans le message de news:
Bonjour ! Merci Pascal de ton secours ! (je préfère dire ça !) La macro fonctionne. Par contre, si je fais "Fichier/Enregistre sous" et que j'annule et bien il m'ouvre de nouveau une même fenêtre en ne me proposant plus le contenant de ma cellule. Que pouvons-nous y faire ?
Sinon, tout le reste fonctionne très bien, le nom d'enregistrement prend bien la cellule. Merci de ton aide ! :/ @+ Chrislio
"papou" wrote:
Re Effectivement le fichier joint n'a pas fonctionné (M'enfin ??) Pour insérer un module standard, dans l'éditeur VBA : Insertion Module Cordialement Pascal
"chrislio" a écrit dans le message de news:
Merci Pascal. Très sympa de revenir vers moi.
L'exemple que tu me donnes ne marche pas...il s'ouvre en fichier texte... De plus, je dois faire des bêtises en enregistrant ta marco car ça ne marche pas.
Quand tu parles de module standard, il faut que j'insère un nouveau projet alors en parallèle de Thisworkbook ? Je ne sais pas ce qu'est un modle standard (=module de classe ??)
Tu sais je débute en Excel et parfois les mots n'ont pas le même sens avec le langage excel ! désolée de t'ennuyer.
Merci de ton retour. Chrislio
"papou" wrote:
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)