OVH Cloud OVH Cloud

Suppression fichier ouvert

4 réponses
Avatar
JacquesH
Bonjour à toutes et tous,

J'ai un fichier avec une macro déclenchée par un bouton. Cette macro
effectue un certains nombre d'opérations sans problème. A la fin de
cette macro, je souhaite détruire le fichier d'origine (Thisworkbook ou
ActiveWorkbook).

J'ai déjà l'habitude d'uitliser un système d'archivage automatique
avec déplacement de mon fichier et suppression avec "Kill Old_Fichier".

J'ai donc essayé ce système mais cela ne fonctionne pas : il n'y a
pas de message d'erreur, tout semble OK et pourtant mon fichier est
toujours là.

J'ai simplifié ma macro au maximum en utilisant seulement la dernière
partie, sans succès. Dans les archives du forum, j'ai récupéré ce bout
de code mais j'ai toujours le même problème :

Sub supprime()
Dim Bill As String
Bill = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:=False
Kill Bill
End Sub

Merci de votre aide.

Jacques

4 réponses

Avatar
Daniel
Bonjour.
A mon avis, à partir du moment où tu fermes le classeur, la macro cesse de
d'exécuter.
Cordialement.
Daniel
"JacquesH" a écrit dans le message de
news: e1t$C$
Bonjour à toutes et tous,

J'ai un fichier avec une macro déclenchée par un bouton. Cette macro
effectue un certains nombre d'opérations sans problème. A la fin de cette
macro, je souhaite détruire le fichier d'origine (Thisworkbook ou
ActiveWorkbook).

J'ai déjà l'habitude d'uitliser un système d'archivage automatique avec
déplacement de mon fichier et suppression avec "Kill Old_Fichier".

J'ai donc essayé ce système mais cela ne fonctionne pas : il n'y a pas
de message d'erreur, tout semble OK et pourtant mon fichier est toujours
là.

J'ai simplifié ma macro au maximum en utilisant seulement la dernière
partie, sans succès. Dans les archives du forum, j'ai récupéré ce bout de
code mais j'ai toujours le même problème :

Sub supprime()
Dim Bill As String
Bill = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:úlse
Kill Bill
End Sub

Merci de votre aide.

Jacques


Avatar
JacquesH
Bonjour et merci pour ta réponse,

Je pense que tu as raison. De plus lorsque je ne le ferme pas avant, il
y a un message d'erreur : permission refusée.

Connais-tu une solution ?

Jacques

Bonjour.
A mon avis, à partir du moment où tu fermes le classeur, la macro cesse de
d'exécuter.
Cordialement.
Daniel
"JacquesH" a écrit dans le message de
news: e1t$C$

Bonjour à toutes et tous,

J'ai un fichier avec une macro déclenchée par un bouton. Cette macro
effectue un certains nombre d'opérations sans problème. A la fin de cette
macro, je souhaite détruire le fichier d'origine (Thisworkbook ou
ActiveWorkbook).

J'ai déjà l'habitude d'uitliser un système d'archivage automatique avec
déplacement de mon fichier et suppression avec "Kill Old_Fichier".

J'ai donc essayé ce système mais cela ne fonctionne pas : il n'y a pas
de message d'erreur, tout semble OK et pourtant mon fichier est toujours
là.

J'ai simplifié ma macro au maximum en utilisant seulement la dernière
partie, sans succès. Dans les archives du forum, j'ai récupéré ce bout de
code mais j'ai toujours le même problème :

Sub supprime()
Dim Bill As String
Bill = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:úlse
Kill Bill
End Sub

Merci de votre aide.

Jacques







Avatar
Michel Pierron
Bonjour Jacques;
Essaie comme ceci:

With ActiveWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close False
End With

MP

"JacquesH" a écrit dans le message de
news: e1t$C$
Bonjour à toutes et tous,

J'ai un fichier avec une macro déclenchée par un bouton. Cette macro
effectue un certains nombre d'opérations sans problème. A la fin de
cette macro, je souhaite détruire le fichier d'origine (Thisworkbook ou
ActiveWorkbook).

J'ai déjà l'habitude d'uitliser un système d'archivage automatique
avec déplacement de mon fichier et suppression avec "Kill Old_Fichier".

J'ai donc essayé ce système mais cela ne fonctionne pas : il n'y a
pas de message d'erreur, tout semble OK et pourtant mon fichier est
toujours là.

J'ai simplifié ma macro au maximum en utilisant seulement la dernière
partie, sans succès. Dans les archives du forum, j'ai récupéré ce bout
de code mais j'ai toujours le même problème :

Sub supprime()
Dim Bill As String
Bill = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:úlse
Kill Bill
End Sub

Merci de votre aide.

Jacques


Avatar
JacquesH
Bonjour Michel et merci pour ta réponse,

Je viens de tester, cela me semble OK.

Bonne journée.

Jacques



Bonjour Jacques;
Essaie comme ceci:

With ActiveWorkbook
.Save
.ChangeFileAccess Mode:=xlReadOnly
Kill .FullName
.Close False
End With

MP

"JacquesH" a écrit dans le message de
news: e1t$C$

Bonjour à toutes et tous,

J'ai un fichier avec une macro déclenchée par un bouton. Cette macro
effectue un certains nombre d'opérations sans problème. A la fin de
cette macro, je souhaite détruire le fichier d'origine (Thisworkbook ou
ActiveWorkbook).

J'ai déjà l'habitude d'uitliser un système d'archivage automatique
avec déplacement de mon fichier et suppression avec "Kill Old_Fichier".

J'ai donc essayé ce système mais cela ne fonctionne pas : il n'y a
pas de message d'erreur, tout semble OK et pourtant mon fichier est
toujours là.

J'ai simplifié ma macro au maximum en utilisant seulement la dernière
partie, sans succès. Dans les archives du forum, j'ai récupéré ce bout
de code mais j'ai toujours le même problème :

Sub supprime()
Dim Bill As String
Bill = ActiveWorkbook.FullName
ActiveWorkbook.Close savechanges:úlse
Kill Bill
End Sub

Merci de votre aide.

Jacques