Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que s oit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregi stré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que s oit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregi stré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que s oit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregi stré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que soit la méthode utilisée, c'est à dire avec le bouton
Enregistrer ou en confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple, C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on l'utilise plus d'une fois, et que pour que
l'évennement fonctionne, il faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que soit la méthode utilisée, c'est à dire avec le bouton
Enregistrer ou en confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple, C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on l'utilise plus d'une fois, et que pour que
l'évennement fonctionne, il faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que soit la méthode utilisée, c'est à dire avec le bouton
Enregistrer ou en confirmant la boîte de dialogue si on ferme ou quitte sans avoir enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple, C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si on l'utilise plus d'une fois, et que pour que
l'évennement fonctionne, il faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour,
Dans ThisWorkbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Application.EnableEvents = False 'grâce à cette instruction, on ne
repasse pas dans Workbook_BeforeSave lors d'un Save
ActiveWorkbook.SaveAs Filename:=File1
ActiveWorkbook.SaveAs Filename:=File2
Application.EnableEvents = True
Cancel = True 'cette instruction permet d'annuler le Save d'origine
End Sub
(J'ai supposé quelque chose comme :
Dim File1, File2 As String
File1 = "C:ventestestbeforesave001.xls"
File2 = "C:copiedeventetestbeforesave00.xls")
Nous dire.
"JMD" a écrit dans le message de news:
%Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour,
Dans ThisWorkbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Application.EnableEvents = False 'grâce à cette instruction, on ne
repasse pas dans Workbook_BeforeSave lors d'un Save
ActiveWorkbook.SaveAs Filename:=File1
ActiveWorkbook.SaveAs Filename:=File2
Application.EnableEvents = True
Cancel = True 'cette instruction permet d'annuler le Save d'origine
End Sub
(J'ai supposé quelque chose comme :
Dim File1, File2 As String
File1 = "C:ventestestbeforesave001.xls"
File2 = "C:copiedeventetestbeforesave00.xls")
Nous dire.
"JMD" <pas@demail.fr> a écrit dans le message de news:
%23E5o43ZqHHA.4104@TK2MSFTNGP06.phx.gbl...
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour,
Dans ThisWorkbook :
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As
Boolean)
Application.EnableEvents = False 'grâce à cette instruction, on ne
repasse pas dans Workbook_BeforeSave lors d'un Save
ActiveWorkbook.SaveAs Filename:=File1
ActiveWorkbook.SaveAs Filename:=File2
Application.EnableEvents = True
Cancel = True 'cette instruction permet d'annuler le Save d'origine
End Sub
(J'ai supposé quelque chose comme :
Dim File1, File2 As String
File1 = "C:ventestestbeforesave001.xls"
File2 = "C:copiedeventetestbeforesave00.xls")
Nous dire.
"JMD" a écrit dans le message de news:
%Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré, il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une err eur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" génér ée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" a écrit dans le message de news:
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" wrote:Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lor s de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une err eur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" génér ée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1181288798.369970.292...@m36g2000hse.googlegroups.com...
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" <p...@demail.fr> wrote:
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lor s de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une err eur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" génér ée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" a écrit dans le message de news:
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" wrote:Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lor s de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une
erreur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" générée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" a écrit dans le message de news:
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" wrote:Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation
se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors
de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une
erreur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" générée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" <boisgont...@hotmail.com> a écrit dans le message de news:
1181288798.369970.292...@m36g2000hse.googlegroups.com...
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" <p...@demail.fr> wrote:
Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation
se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors
de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour.
Comme quoi, je suis un cancre. Bravo et merci.
Juste un truc : si ensuite on ouvre la copie, en la quittant on a une
erreur
d'exécution "1004 Impossible d'accèder à [nomduclasseur]" générée par la
ligne
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
Tu peux avoir l'amabilité de me dire pourquoi ?
Très cordialement.
JM
"JB" a écrit dans le message de news:
Bonjour,
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not ThisWorkbook.Saved Then ThisWorkbook.Save
Répertoire = "c:cegos"
If Dir(Répertoire, vbDirectory) = "" Then MkDir Répertoire
ThisWorkbook.SaveCopyAs Répertoire & "" & ThisWorkbook.Name
End Sub
JB
On 8 juin, 09:23, "JMD" wrote:Bonjour.
J'ai un truc un peu "Chinois".
Je voudrais que chaque fois que l'on enregistre un classeur, quelle que
soit
la méthode utilisée, c'est à dire avec le bouton Enregistrer ou en
confirmant la boîte de dialogue si on ferme ou quitte sans avoir
enregistré,
il se passe la chose suivante :
- Le classeur est enregistré à son emplacement actuel (par exemple,
C:VENTES), comme il se doit.
- Le classeur est également enregistré sur un autre emplacement (par
exemple
c:COPIESDEVENTE).
J'ai essayé dans un module de classe:
Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)
SaveAsUI = False
ActiveWorkbook.SaveAs Filename:= _
"C:ventestestbeforesave001.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
ActiveWorkbook.SaveAs Filename:= _
"C:copiedeventetestbeforesave00.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
MsgBox "OK"
End Sub
mais bof... Il doit y avoir mieux, d'autant que mon code plante Excel si
on
l'utilise plus d'une fois, et que pour que l'évennement fonctionne, il
faut
avoir lancé
Sub InitializeApp()
Set X.App = Application
End Sub
et que je ne vois pas bien comment faire pour que cette initialisation
se
fasse sans intervention de l'utilisateur.
Bref, ma question est : comment programmer une copie systématique lors
de
chaque enregistrement d'un classeur.
Je vous remercie par avance pour votre aide et vos avis.
Très cordialement à tous,
JM- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -