Ecraser dossier déjà existant Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
P
Pixelle
Membre habitué
Membre habitué
Messages : 145
Inscrit le : 25 septembre 2014
Version d'Excel : 2010, FR & 2007, FR

Message par Pixelle » 9 mars 2015, 10:09

Bonjour,

Mon problème du jour est le suivant : à l'aide d'une macro, je génère la création de dossiers, suivant le nom d'une cellule (en B34). Par la suite, cette même macro génère des fichiers PDF dans ce dossier nouvellement créé.
chemindossier = "F:\XXX\YYY\FicheTerr\" & Range("B34")  'Chemin du dossier à créer + nom
    MkDir chemindossier     
Là où ça coince, c'est lorsque je veux relancer la macro pour actualiser les fichiers PDF. En effet, une erreur d’exécution '75' se produit ("Erreur d'accès Chemin/Fichier"). Je comprends bien que c'est le fait qu'un dossier s'appelle déjà comme la cellule B34 qui pose problème.

Aussi, je souhaiterai savoir s'il existait un code magique qui puisse écraser un dossier pour pouvoir sauvegarder mes fichiers PDF actualisés dans un nouveau dossier portant le même nom que la cellule B34.

J'ai un gros doute sur la compréhension de ma dernière phrase... ::~
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'978
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 9 mars 2015, 10:34

bonjour

essaie ceci. attention, tous les fichiers du répertoire seront supprimés (bien vérifier le nom du répertoire, avant de lancer la macro !)

chemindossier = "F:\XXX\YYY\FicheTerr\" & Range("B34")  'Chemin du dossier à créer + nom
on error resume next
rmdir  chemindossier ' supprimer le répertoire s'il existe déjà
on error goto 0
MkDir chemindossier    
P
Pixelle
Membre habitué
Membre habitué
Messages : 145
Inscrit le : 25 septembre 2014
Version d'Excel : 2010, FR & 2007, FR

Message par Pixelle » 9 mars 2015, 10:58

Bonjour

Je te remercies de ton aide ! Cependant j'ai encore un bug :
chemindossier = "F:\XXX\YYY\FicheTerr\" & Range("B34")  'Chemin du dossier à créer + nom
    On Error Resume Next
    RmDir chemindossier                                                     
    On Error GoTo 0
    MkDir chemindossier
L'erreur se produit sur la ligne MkDir chemindossier :
Erreur d'accès Chemin/Fichier
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'978
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 9 mars 2015, 11:04

Bonjour,

il manquait une instruction. teste ceci.
Sub test()
 chemindossier = "F:\XXX\YYY\FicheTerr\" & Range("B34")  'Chemin du dossier à créer + nom 'Chemin du dossier à créer + nom
   On Error Resume Next
   Kill chemindossier & "*.*"
    RmDir chemindossier
    On Error GoTo 0
    MkDir chemindossier
End Sub
P
Pixelle
Membre habitué
Membre habitué
Messages : 145
Inscrit le : 25 septembre 2014
Version d'Excel : 2010, FR & 2007, FR

Message par Pixelle » 9 mars 2015, 11:08

Re,

encore une erreur, à la dernière ligne. Mais uniquement quand le dossier existe déjà.

Merci de ton aide !
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'978
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 9 mars 2015, 11:17

bonjour,

je ne parviens pas à reproduire l'erreur avec le code que je t'ai fourni.

N'aurais-tu pas un fichier ouvert dans le répertoire que tu essaies de supprimer ? dans ce cas la suppression n'est pas possible. et donc tu reçois une erreur à la création puisque le répertoire existe déjà.

dans ce cas tu pourrais utiliser ce code-ci
Sub test()
 chemindossier = "F:\XXX\YYY\FicheTerr\" & Range("B34")  'Chemin du dossier à créer + nom 'Chemin du dossier à créer + nom
  On Error Resume Next
   Kill chemindossier & "*.*"
    RmDir chemindossier
    MkDir chemindossier
On Error GoTo 0
End Sub
P
Pixelle
Membre habitué
Membre habitué
Messages : 145
Inscrit le : 25 septembre 2014
Version d'Excel : 2010, FR & 2007, FR

Message par Pixelle » 9 mars 2015, 11:23

Re bonjour,

Je n'avais aucun fichier ouvert dans le répertoire que je souhaitais supprimer.
Malgré tout, ton dernier code fonctionne parfaitement !

Merci beaucoup de ce coup de main !!
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message