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 avec filesystem.deletefile


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Problème avec filesystem.deletefile
    Bonjour,
    Je trouve sur Internet l'exemple suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    My.Computer.FileSystem.DeleteFile("C:\test.txt")
    et j'essaie de l'appliquer mais le système bloque sur "My" en indiquant "variable non déclarée".
    J'essaie de déclarer My.Computer.FileSystem en tant qu'objet mais j'ai aussi une erreur.
    Le contexte: j'ai une appli qui crée un fichier texte par Print#1 et je dois la relancer à plusieurs reprises pour la déboguer mais elle bloque avec "Permission refusée" parce que le fichier #1 existe déjà (je suppose) et je perds un temps fou à sauvegarder ce qui doit l'être, fermer les fichiers actifs et faire un redémarrage. Je voudrais ajouter une petite sub qui élimine le fichier en question (sur demande) mais c'est là que My.Compuer.Filesystem me bloque.
    Merci d'avance pour toute piste.
    Cordialement
    touche_a_tout

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    le code que tu tentes d'utiliser est du VB.Net, pas du VBA

    pour le VBA : https://warin.developpez.com/access/fichiers/#LI-D-3-b
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut [XL-2016] Problème avec filesystem.deletefile
    Salut et merci,
    C'est comme si je mangeais ma soupe avec un tournevis Voilà bientôt 20 ans que je débute !
    Merci pour cette réponse ultra-rapide.
    Je tâche de suivre la piste et je donne des nouvelles.
    Cordialement
    touche_a_tout

  4. #4
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut Problème avec filesystem.deletefile
    Re,
    Tout baigne sauf le nom du fichier à diliter. Il n'est normalement pas en dur, mais créé par référence à une userform dont voici un extrait:
    Nom : ex_userform..jpg
Affichages : 212
Taille : 18,7 Ko
    Ma moulinette se présente comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Sub vidange_fichier()
    Stop
    Dim MyFSO As FileSystemObject
    Set MyFSO = New FileSystemObject
    'MyFSO.DeleteFile ("E:\3_G_E_N_E_A_L_O_G_I_E\A1_Reprise_recherches\chantier_dcd\gedcoms_corr\Gedcom_dépôt_104E")
    'MyFSO.DeleteFile (Nom_Dossier & "\" & Nom_Fichier)
    MyFSO.DeleteFile (Nom_Dossier & "\" & Nom_Fichier & ".ged")
    End Sub
    Le nom du fichier a une extension ".ged"
    Le "stop" dans le code me permet d'examiner le fichier créé (présence d'erreurs) et de le supprimer ensuite.
    Dans les 2 premières variantes le message est "fichier introuvable". Dans la troisième, le point avant "ged" provoque une erreur de séparateur
    Où est le souci ?
    Merci d'avance.
    Cordialement
    touche_a_tout

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 508
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 508
    Par défaut
    Salut,

    Verifie que la chaîne Nom_Dossier & "" & Nom_Fichier & ".ged"renvoie bien le bon chemin,
    via l'instruction msgbox ou (mieux) debug.print.

    Pose des points d'arret et inspecte tes variables également.

  6. #6
    Membre éclairé Avatar de touche_a_tout
    Profil pro
    Inscrit en
    Août 2006
    Messages
    544
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 544
    Par défaut [XL-2016] Problème avec filesystem.deletefile
    Bonjour et merci Deedolith,
    J'ai rectifié le code comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [XL-2016] 
    Sub vidange_fichier()
    Stop
    Dim MyFSO As FileSystemObject
    Set MyFSO = New FileSystemObject
    MsgBox "filename = """ & (Nom_Dossier & "\" & Nom_Fichier) & ".ged"""
    MyFSO.DeleteFile Nom_Dossier & "\" & Nom_Fichier & ".ged", True
    End Sub
    Dans le msgbox, le filename correspond à ce qui s'affiche avec un Dir (invite de commande) donc le nom de fichier est correct.
    J'obtins le message "permission refusée". Je ne comprends pas pourquoi (le fichier n'est pas protégé).
    Une explication ?
    Merci. Cordialement
    touche_a_tout

Discussions similaires

  1. [XL-2016] Problme avec opérateur OR
    Par Superpat9999 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/07/2020, 13h57
  2. Réponses: 3
    Dernier message: 03/12/2006, 13h08
  3. Réponses: 18
    Dernier message: 28/08/2006, 23h07
  4. Problème avec DeleteFile
    Par Kara dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2005, 14h33
  5. Réponses: 18
    Dernier message: 30/06/2005, 13h30

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