[EXCEL VBA] Fermeture classeur
Fermé
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
-
21 juin 2012 à 21:13
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 - 22 août 2014 à 12:23
borntobealive Messages postés 138 Date d'inscription jeudi 17 juillet 2014 Statut Membre Dernière intervention 25 février 2019 - 22 août 2014 à 12:23
A voir également:
- [EXCEL VBA] Fermeture classeur
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Aller à la ligne excel - Guide
- Déplacer une colonne excel - Guide
7 réponses
As-tu essayé un DoEvent avant le delete ?
Ne sais t-on jamais... cela permettra peut être de librérer le lock sur le fichier (DoEvent permet de rendre la main au système)
++
Ne sais t-on jamais... cela permettra peut être de librérer le lock sur le fichier (DoEvent permet de rendre la main au système)
++
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
363
21 juin 2012 à 22:45
21 juin 2012 à 22:45
Comment on peut utiliser cette opérateur ? Je trouve pas d'explications claires sur google <.<....
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 752
22 juin 2012 à 13:17
22 juin 2012 à 13:17
Bonjour,
Sans savoir comment est déclaré filetodelete, et puisque tu l'affectes par un Set machin = truc (Set filetodelete = fs.GetFile(old_file)), essaye peut être de remplacer :
ça devrait libérer...
Sans savoir comment est déclaré filetodelete, et puisque tu l'affectes par un Set machin = truc (Set filetodelete = fs.GetFile(old_file)), essaye peut être de remplacer :
filetodelete.Deletepar :
Set filetodelete = Nothing
ça devrait libérer...
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
363
23 juin 2012 à 13:45
23 juin 2012 à 13:45
Il est définit ainsi
Set fs = CreateObject("Scripting.FileSystemObject")
Set filetodelete = fs.GetFile(old_file)
"filetodelete = nothing " libère la variable, mais le fichier est toujours occupé, car même à la main, je ne peux pas le supprimer...il faut avoir attendu que je ferme totalement l'application pour pouvoir le supprimer...
Une autre solution ?
Set fs = CreateObject("Scripting.FileSystemObject")
Set filetodelete = fs.GetFile(old_file)
"filetodelete = nothing " libère la variable, mais le fichier est toujours occupé, car même à la main, je ne peux pas le supprimer...il faut avoir attendu que je ferme totalement l'application pour pouvoir le supprimer...
Une autre solution ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 23/06/2012 à 17:04
Modifié par eriiic le 23/06/2012 à 17:04
Bonjour,
Une autre solution ?
utiliser kill, plus simple
eric
Une autre solution ?
utiliser kill, plus simple
Sub test() chemin = "D:\tmp\" fichier = "Classeur2.xls" Workbooks(fichier).Close SaveChanges:=False Kill (chemin & fichier) End Sub
eric
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
363
24 juin 2012 à 11:56
24 juin 2012 à 11:56
Même résultat, permission refusée (Erreur 70)
Le programme considère toujours que le fichier est occupé, même après un Workbook.close
Le programme considère toujours que le fichier est occupé, même après un Workbook.close
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
24 juin 2012 à 12:10
24 juin 2012 à 12:10
Re,
ça a bien marché chez moi avec windows 7 et excel 2003...
C'est sur un fichier particulier ?
Si non, il y a peut-être une histoire de droits.
eric
ça a bien marché chez moi avec windows 7 et excel 2003...
C'est sur un fichier particulier ?
Si non, il y a peut-être une histoire de droits.
eric
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
363
24 juin 2012 à 13:23
24 juin 2012 à 13:23
Tu as ouvert un fichier, réalisé un transfert de feuille vers un autre fichier, sauvegarder, fermer le fichier, et le supprimer ? et ça a fonctionné ? :(
Je peux avoir ton code complet ?
Je peux avoir ton code complet ?
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 24/06/2012 à 14:09
Modifié par eriiic le 24/06/2012 à 14:09
Non pas fait de transfert de feuille ni de sauvegarde (SaveChanges:=False) tu n'en parlais pas. Mais je ne vois pas ce que ça changerait.
D'ailleurs, c'est bien l'autre fichier que celui de la macro que tu veux fermer ?
eric
D'ailleurs, c'est bien l'autre fichier que celui de la macro que tu veux fermer ?
eric
LeDénicheur
Messages postés
565
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
1 décembre 2013
363
Modifié par LeDénicheur le 24/06/2012 à 14:30
Modifié par LeDénicheur le 24/06/2012 à 14:30
Oui, c'est bien l'autre fichier qui ne contient pas la macro que je chercher à fermer.
Mais j'ai l'impression que le fait de copier des éléments, même après fermeture du fichier, il garde des choses en "liaison" qui ne se coupe uniquement que quand l'application Excel se ferme....
Mais j'ai l'impression que le fait de copier des éléments, même après fermeture du fichier, il garde des choses en "liaison" qui ne se coupe uniquement que quand l'application Excel se ferme....
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 249
Modifié par eriiic le 24/06/2012 à 15:14
Modifié par eriiic le 24/06/2012 à 15:14
re,
réalisé un transfert de feuille vers un autre fichier, sauvegarder, fermer le fichier, et le supprimer ?
Pourquoi l'enregistrer si c'est pour le supprimer ????
Y copier une feuille ne change rien : on ferme et on supprime
eric
réalisé un transfert de feuille vers un autre fichier, sauvegarder, fermer le fichier, et le supprimer ?
Pourquoi l'enregistrer si c'est pour le supprimer ????
Y copier une feuille ne change rien : on ferme et on supprime
Sub test() Dim chemin As String, fichier As String Sheets("Feuil1").Copy Before:=Workbooks("Classeur2.xls").Sheets(1) chemin = "D:\tmp\" fichier = "Classeur2.xls" Workbooks(fichier).Close SaveChanges:=False Kill (chemin & fichier) End Sub
eric
borntobealive
Messages postés
138
Date d'inscription
jeudi 17 juillet 2014
Statut
Membre
Dernière intervention
25 février 2019
7
22 août 2014 à 12:23
22 août 2014 à 12:23
Je ne sais pas si tu as trouvé une solution et si tu t'interesse toujours à la réponse mais si tu as utilisé le presse papier pour copier tes données ( genre
alors les liens entre les données de B et A bloquent toujours la fermeture de B
Montre-nous comment tu as fais tes copie dans un premier temps ça nous fera avancer
blabla.copypuis
blala.paste)
alors les liens entre les données de B et A bloquent toujours la fermeture de B
Montre-nous comment tu as fais tes copie dans un premier temps ça nous fera avancer