J'ai un fichier que je sauvegarde à chaque sortie à son emplacement normal
et dont je fais une copie de sauvegarde en lecture seule dans un autre disque.
Jusque là je m'en suis pas trop mal tiré je crois.
Là où ça bug c'est que quand j'execute mon fichier de sauvegarde et bien à
sa fermeture il plante.
Voici mon code :
Sub Auto_Close()
'
Application.DisplayAlerts = False
'
If ThisWorkbook.Path = "D:\TOTO\TEST.xls" Then Exit Sub
'
ActiveWorkbook.Save
'
ActiveWorkbook.SaveAs Filename:="D:\TOTO\TEST.xls", FileFormat:= _
xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _
:=True, CreateBackup:=False
'
Application.DisplayAlerts = True
'
End Sub
Pourtant je pensais qu'avec la 4ème ligne du code :
If ThisWorkbook.Path = "D:\TOTO\TEST.xls" Then Exit Sub
Cela suffisait pour que si le fichier ouvert est celui de sauvegarde donc
celui qui se trouve sur D:\TOTO et bien le code Auto_Close de ce fichier
s'interrompait.
Apparemment il n'en ait rien et il n' y a pas que le code qui bug mais moi
avec.
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
PMO
Bonjour,
A tout hasard, changez la ligne If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub par If ActiveWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Explication si ça marche: ThisWorkbook fait référence au classeur où s'exécute la macro ActiveWorkbook fait référence au classeur actif
Cordialement.
PMO Patrick Morange
Bonjour la communauté,
J'ai un fichier que je sauvegarde à chaque sortie à son emplacement normal et dont je fais une copie de sauvegarde en lecture seule dans un autre disque.
Jusque là je m'en suis pas trop mal tiré je crois.
Là où ça bug c'est que quand j'execute mon fichier de sauvegarde et bien à sa fermeture il plante.
Voici mon code :
Sub Auto_Close() ' Application.DisplayAlerts = False ' If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub ' ActiveWorkbook.Save ' ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _ xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _ :=True, CreateBackup:úlse ' Application.DisplayAlerts = True ' End Sub
Pourtant je pensais qu'avec la 4ème ligne du code :
If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Cela suffisait pour que si le fichier ouvert est celui de sauvegarde donc celui qui se trouve sur D:TOTO et bien le code Auto_Close de ce fichier s'interrompait.
Apparemment il n'en ait rien et il n' y a pas que le code qui bug mais moi avec.
Merci de votre aide.
Cordialement.
Excel...lent
Bonjour,
A tout hasard, changez la ligne
If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
par
If ActiveWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Explication si ça marche:
ThisWorkbook fait référence au classeur où s'exécute la macro
ActiveWorkbook fait référence au classeur actif
Cordialement.
PMO
Patrick Morange
Bonjour la communauté,
J'ai un fichier que je sauvegarde à chaque sortie à son emplacement normal
et dont je fais une copie de sauvegarde en lecture seule dans un autre disque.
Jusque là je m'en suis pas trop mal tiré je crois.
Là où ça bug c'est que quand j'execute mon fichier de sauvegarde et bien à
sa fermeture il plante.
Voici mon code :
Sub Auto_Close()
'
Application.DisplayAlerts = False
'
If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
'
ActiveWorkbook.Save
'
ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _
xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _
:=True, CreateBackup:úlse
'
Application.DisplayAlerts = True
'
End Sub
Pourtant je pensais qu'avec la 4ème ligne du code :
If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Cela suffisait pour que si le fichier ouvert est celui de sauvegarde donc
celui qui se trouve sur D:TOTO et bien le code Auto_Close de ce fichier
s'interrompait.
Apparemment il n'en ait rien et il n' y a pas que le code qui bug mais moi
avec.
A tout hasard, changez la ligne If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub par If ActiveWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Explication si ça marche: ThisWorkbook fait référence au classeur où s'exécute la macro ActiveWorkbook fait référence au classeur actif
Cordialement.
PMO Patrick Morange
Bonjour la communauté,
J'ai un fichier que je sauvegarde à chaque sortie à son emplacement normal et dont je fais une copie de sauvegarde en lecture seule dans un autre disque.
Jusque là je m'en suis pas trop mal tiré je crois.
Là où ça bug c'est que quand j'execute mon fichier de sauvegarde et bien à sa fermeture il plante.
Voici mon code :
Sub Auto_Close() ' Application.DisplayAlerts = False ' If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub ' ActiveWorkbook.Save ' ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _ xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _ :=True, CreateBackup:úlse ' Application.DisplayAlerts = True ' End Sub
Pourtant je pensais qu'avec la 4ème ligne du code :
If ThisWorkbook.Path = "D:TOTOTEST.xls" Then Exit Sub
Cela suffisait pour que si le fichier ouvert est celui de sauvegarde donc celui qui se trouve sur D:TOTO et bien le code Auto_Close de ce fichier s'interrompait.
Apparemment il n'en ait rien et il n' y a pas que le code qui bug mais moi avec.
Merci de votre aide.
Cordialement.
Excel...lent
vpco
Salut PMO,
Merci pour ton aide et les explications.
Malheureusement cela ne fonctionne pas. Quand j'ouvre la copie de sauvegarde du fichier sur le dique D:, j'ai toujours le même plantage à la 4ème ligne de commande du code à la fermeture du fichier. Avec message Erreur Exécution 1004 : Echec de l'opération.'D:TOTOTest.xls' est protégé en écriture.
Si tu as d'autres idées je suis preneur.
Cordialement.
Excel...lent
Salut PMO,
Merci pour ton aide et les explications.
Malheureusement cela ne fonctionne pas. Quand j'ouvre la copie de sauvegarde
du fichier sur le dique D:, j'ai toujours le même plantage à la 4ème ligne
de commande du code à la fermeture du fichier. Avec message Erreur Exécution
1004 : Echec de l'opération.'D:TOTOTest.xls' est protégé en écriture.
Malheureusement cela ne fonctionne pas. Quand j'ouvre la copie de sauvegarde du fichier sur le dique D:, j'ai toujours le même plantage à la 4ème ligne de commande du code à la fermeture du fichier. Avec message Erreur Exécution 1004 : Echec de l'opération.'D:TOTOTest.xls' est protégé en écriture.
Si tu as d'autres idées je suis preneur.
Cordialement.
Excel...lent
JpPradier
Bonjour vpco
Le path fait référence au chemin sans le nom du fichier. Essaye avec :
If ThisWorkbook.Path = "D:TOTO" Then Exit Sub
j-p
Bonjour vpco
Le path fait référence au chemin sans le nom du fichier. Essaye avec :
Le path fait référence au chemin sans le nom du fichier. Essaye avec :
If ThisWorkbook.Path = "D:TOTO" Then Exit Sub
j-p
vpco
Salut à tous,
Ca y est je le tiens.
En effet Jp je n'avais pas fait attention que dans mon PATH j'avais glissé malencontreusement le nom du fichier. Evidemment comme ça, ça marcher moins bien comme dirait l'autre.
Bref je crois que je tiens le résultat :
Sub Auto_Close() ' On Error Resume Next Application.DisplayAlerts = False ' If ThisWorkbook.Path = "D:TOTO" Then Exit Sub ' ActiveWorkbook.Save ' Kill "D:TOTOTEST.xls"
ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _ xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _ :úlse, CreateBackup:úlse ' Application.DisplayAlerts = True ' End Sub
Merci à tous en tout pour vos idées.
Cordialement.
Marc
Salut à tous,
Ca y est je le tiens.
En effet Jp je n'avais pas fait attention que dans mon PATH j'avais glissé
malencontreusement le nom du fichier. Evidemment comme ça, ça marcher moins
bien comme dirait l'autre.
Bref je crois que je tiens le résultat :
Sub Auto_Close()
'
On Error Resume Next
Application.DisplayAlerts = False
'
If ThisWorkbook.Path = "D:TOTO" Then Exit Sub
'
ActiveWorkbook.Save
'
Kill "D:TOTOTEST.xls"
ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _
xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _
:úlse, CreateBackup:úlse
'
Application.DisplayAlerts = True
'
End Sub
En effet Jp je n'avais pas fait attention que dans mon PATH j'avais glissé malencontreusement le nom du fichier. Evidemment comme ça, ça marcher moins bien comme dirait l'autre.
Bref je crois que je tiens le résultat :
Sub Auto_Close() ' On Error Resume Next Application.DisplayAlerts = False ' If ThisWorkbook.Path = "D:TOTO" Then Exit Sub ' ActiveWorkbook.Save ' Kill "D:TOTOTEST.xls"
ActiveWorkbook.SaveAs Filename:="D:TOTOTEST.xls", FileFormat:= _ xlExcel9795, Password:="", WriteResPassword:="toto", ReadOnlyRecommended _ :úlse, CreateBackup:úlse ' Application.DisplayAlerts = True ' End Sub