IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème Kill fichier dans TEMP


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut Problème Kill fichier dans TEMP
    Salut à tous,
    J'ai un fichier test1.xls ouvert dans le Temp et par une macro je voudrai le détruire, mais cela ne marche pas
    voici mon code, il me génère une erreur d'exécution 53
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks("test[1].xls").Activate
         ActiveWorkbook.Saved = True
         ActiveWorkbook.Close
         Kill ("test[1].xls")
    Merci pour votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Le message dit "Fichier introuvable"... Et si tu ajoutes le chemin ?

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    MOn problème c'est que c'est un fichier qui s'ouvre dans TEMP et qui a un chemin diférent à chaque ouverture
    ou Alors comment puis-je écrire un chemin relatif?

  4. #4
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Salut,

    il te faut simplement sauver le fullname du fichier de temp avant de le fermer.

    le code alors devient quelquechose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Workbooks("test[1].xls").Activate
         temp_name = ActiveWorkbook.Fullname
         ActiveWorkbook.Saved = True
         ActiveWorkbook.Close
         Kill (temp_Name)

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    excuses moi, mais qu'appelles-tu le fullname?

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Le nom avec le chemin. Faut tout y dire ! Tu n'as pas de touche F1 ? faudra t'en faire mettre une !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Avril 2008
    Messages : 20
    Points : 44
    Points
    44
    Par défaut
    Le fullname c'est le nom du fichier incluant le chemin (Path).
    Donc peu importe dans quel repertoire le fichier sera, il sera effacé puisque la variable temp_Name inclura le chemin.

    Pascal

  8. #8
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    OK,
    Mais ça ne marche pas, ça ne me met plus erreur d'exécution 53 ça ferme le fichier concerné, mais lorsque je fait rechercher fichier test[1].xls il me le trouve toujours dans:
    "C:\Documents and Settings\F71922\Local Settings\Temporary Internet Files\Content.IE5\GFGZW7O3\test[1].xls"

    Le problème ne viendrait-il pas de là:
    en fait je fait ouvrir ce fichier excel depuis un code PHP (writeexcel), dans mon code php je lui demande de m'ouvrir un fichier excel nommé test.xls et lui systématiquement, il me l'ouvre test[1].xls
    Parfois il me l'ouvre test[2].xls et là ça fait merder la suite de mes travaux c'est pour cela qu'à chaque fois, il faut que je détruise le test[1].xls

    Chest pas chi chui clair

  9. #9
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Chest pas chi chui clair
    Euhhhhhhhh non, que nenni.

    Faut ptét ben voir du coté de ton code PHP, et aussi préventivement supprimer manuellement tous tes test.(n).xls avant de retester.

    Tu n'as pas de touche F1 ? faudra t'en faire mettre une !
    J'en ai une a vendre à 700 EUR. Prix d'ami. !!

  10. #10
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    J'avais juste une réponse pour fullname mais pour ce qui est de fonctionner, si tu fermes ton fichier, la macro s'arrêtera là... Pas étonnant que le kill ne fonctionne pas.
    Tu ne peux pas supprimer le fichier que tu fermes depuis le fichier fermé

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Tu n'as pas de touche F1 ? faudra t'en faire mettre une !
    Touche F1 inactive, licence Excel2000 entreprise

    Tu ne peux pas supprimer le fichier que tu fermes depuis le fichier fermé
    Désolé j'avais oublié de dire que ma macro se trouvait sur un autre fichier excel qui lui reste ouvert

    Faut ptét ben voir du coté de ton code PHP, et aussi préventivement supprimer manuellement tous tes test.(n).xls avant de retester.
    j'ai supprimé manuellement tous tes test.(n).xls mais ça n'y fait rien, coté php c'est ok
    je suis preneur d'autres idées car je doit mettre en intranet prochainement ce systéme de fonctionnement et je commence à étre sérieusement dans la M..................... si ça fonctionne pas
    Merci de votre aide si vous avez d'autres infos

  12. #12
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Tu es sur Excel ou bien travailles-tu sur Excel depuis une autre application ?

  13. #13
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    j'explique du début :
    je suis sur un site intranet , sur lequel je saisie des données qui vont se caser dans une base phpmysql ensuite je clique sur un lien, qui m'ouvre un fichier excel nommé test[1].xls dans lequel se retrouvent certaines données saisies auparavant sur le site intranet + des liens vers des fichiers excels types
    ensuite je clique sur un de ces liens, et s'ouvre alors un 2éme fichier excel qui lui s'appelle FCMO1.xls
    Sur ce nouveau fichier se trouve 1 gros boutons qui lorsque je clique a pour effet de rapatrier les données de test[1].xls dans des cases prédéfinies du fichier FCMO.xls, de fermer test[1].xls et c'est là que je voudrais supprimer ce fichier.

  14. #14
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Ma petite pierre à l'édifice...
    Si j'ai bien compris, le fichier Test.xls est un fichier créé via l'intranet, donc lorsque tu le fermes sans le sauvegarder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.Saved = True
         ActiveWorkbook.Close
    c'est comme si tu jetais ta feuille directement à la poubelle sans la classer dans un dossier. Ce fichier n'existe donc pas sur ton disque dur, tu ne peux donc pas le "tuer".

    Pour ce qui est de "C:\Documents and Settings\F71922\Local Settings\Temporary Internet Files\Content.IE5\GFGZW7O3\test[1].xls" c'est un dossier qui garde en mémoire certaines infos de ta navigation sur Internet, notamment les cookies, ce qui permet une navigation plus rapide lorsque tu retournes sur la même page, dossier qui se néttoie via le menu Démarrer --> programmes --> Accessoires --> Outils Système --> Nettoyage de disque

  15. #15
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Alors connais-tu le code qui me permetrai de l'enregistrer sous mon disque et de le Killer ensuite?
    Merci

  16. #16
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Alors connais-tu le code qui me permetrai de l'enregistrer sous mon disque et de le Killer ensuite?
    Merci
    Approche différente du problème ?

    Il te gène en quoi ce fichier que tu veux ..., histoire de savoir si tu es juste un peu parano de l'espace disque ou si tu as plutot un objectif logiciel ?

    (NB : pour supprimer des fichiers temporaires et tout le toutim de saloperies stocké sur ton pc, tu peux regarder ici : http://www.ccleaner.com/ (Gratuit et vraiment excellent)

  17. #17
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par Godzestla Voir le message
    Approche différente du problème ?

    Il te gène en quoi ce fichier que tu veux ..., histoire de savoir si tu es juste un peu parano de l'espace disque ou si tu as plutot un objectif logiciel ?

    (NB : pour supprimer des fichiers temporaires et tout le toutim de saloperies stocké sur ton pc, tu peux regarder ici : http://www.ccleaner.com/ (Gratuit et vraiment excellent)
    Il me géne, car je doit effectuer plusieurs fois la m^me manip
    c'est-a dire une fois que j'en ai fini avec ces fichiers excels, je repart sur le site intranet , je reclique sur le lien qui m'ouvre test.xls mais comme il y a toujours test[1].xls dans le Temp il m'ouvre plutôt un test[2].xls et la macro suivante qui me permet d'importer les données de test[1].xls vers FCMO.xls ne fonctionne évidemment plus

  18. #18
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Petite suggestion :

    Dans la mesure ou je suppose que tu connais maintenant l'emplacement de ton fichier test*.xls, et que je suppose aussi que le code VBA à exécuter n'est pas dans ce fichier, pour quoi ne pas faire un simple code VBA qui s'exécuterais en fin de ton process normal VBA et qui ferais :

    1) Dir du répertoire TEMP en question des fichiers test*.XLS
    2) tant que trouvé,
    2.1) Kill fichier
    2.2) Si erreur le fichier est ouvert alors
    2.2.1) Close (en supposant qu'il est ouvert dans excel)
    2.2.2) Remonte au kill

    2.3) Dir

    Et ops. Ménage est fait.

    Exemple pour Dir avec close (non testé)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    dim tablo() as variant
    dim excel_workbook as string
    res = Dir(Pkg_fullname, vbSystem)
    while res <> ""
            tablo = split(Pkg_Fullname, "\")
            excel_workbook = tablo(ubound(tablo))
            Workbooks(excel_workbook).Close
            On Error Resume Next
            Kill Pkg_fullname
     
    wend

  19. #19
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    Petit soucis:
    le chemin vers test[1].xls change à chaque fois

    exemple:
    "C:\Documents and Settings\F71922\Local Settings\Temporary Internet Files\Content.IE5\GFGZW7O3\test[1].xls"
    ou
    "C:\Documents and Settings\F71922\Local Settings\Temporary Internet Files\Content.IE5\BCGZW7O3\test[1].xls"
    ça ne va pas marcher ????

  20. #20
    Membre du Club
    Inscrit en
    Septembre 2005
    Messages
    255
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 255
    Points : 50
    Points
    50
    Par défaut
    j'éssais ton code mais la macro s'arrete à cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    res = Dir(Pkg_fullname, vbSystem)
    Erreur d'exce 13
    Incompatibilité de type

    ça te parle??

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 6 12345 ... DernièreDernière

Discussions similaires

  1. Problème lecture fichier dans une arborescence de dossiers
    Par africanwinners dans le forum Langage
    Réponses: 5
    Dernier message: 05/12/2014, 13h59
  2. Réponses: 18
    Dernier message: 22/08/2014, 17h35
  3. Probléme création fichier dans un script
    Par nicowax dans le forum Unix
    Réponses: 5
    Dernier message: 15/01/2009, 14h19
  4. Problème de fichiers dans les dossiers de mes bases
    Par grinder59 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 20/07/2007, 21h14
  5. Réponses: 2
    Dernier message: 01/06/2004, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo