Supprimer fichiers dans répertoire si nom =valeur en "Q4"

Bonjour,

Je cherche a écrire un code qui me permet de supprimer dans un répertoire, tous les fichier commençant par la valeur de la cellule Q4; ex: "BC 6

A savoir que le chemin du répertoire Doit être variable. En effet une macro enregistre les bons de commandes dans le répertoire où est enregistré mon fichier excel. Pour le moment seul moi l'utilise mais par la suite, il sera placer sur un autre poste, s'en doute sur un autre répertoire.

Voici mon début de code, qui ne fonctionne pas vraiment

Sub SupprimerCertainsFichiersDansDossier_2()
'supprime tous les fichiers dont le nom contient "BC 6"
    Dim DossierANettoyer As String

    If Len(Dir(Range("q4").Value, vbDirectory)) > 0 Then
    ' le répertaoire a vider. le chemin est indiqué dans la cellule Q4 par cette formule
    ' =STXT(V1;1;TROUVE("[";V1;1)-1)&"BONS DE COMMANDES\"&M1&"\"
          Range("q4").Value "*BC 6*.*"
          'les fichiers a supprimer s'ils commencent par "BC 6"
          ' ou encore mieux, commençant par la valeur trouvée en cellule Q3
    Else
    End If

End Sub

Merci pour vos conseils!

Le code bug car je n'arrive pas à lui indiquer correctement le chemin je pense.

image

Bonjour LionSleep

Pour compiler du texte, il faut utiliser le "&"

Sinon voici le code modifié, j'ai mis l'instruction "Stop" pour passer en mode pas à pas et être certain de ce que fait le code

Sub SupprimerCertainsFichiersDansDossier_2()
  Dim sPath As String, sNomFic As String
  ' le répertoire a vider. le chemin est indiqué dans la cellule Q4 par cette formule
  ' =STXT(V1;1;TROUVE("[";V1;1)-1)&"BONS DE COMMANDES\"&M1&"\"
  sPath = Range("Q4").Value
  If Right(sPath, 1) <> "\" Then sPath = sPath & "\"
  ' Masque des fichiers a supprimer s'ils commencent par "BC 6"
  ' ou encore mieux, commençant par la valeur trouvée en cellule Q3
  sNomFic = "*BC 6*.*"
  ' ou
  sNomFic = "" & Range("Q3").Value & "*.*"
  ' Vérifier si au moins 1 fichier existe
  If Dir(sPath & sNomFic) <> "" then Kill sPath & sNomFic
End Sub

@+

Merci BrunoM45 Pour ton aide.

Je viens d'essayer le code, sans rien changer. Il supprime bien les fichiers correspondants au critère, seulement après avoir exécuter le code il me met ce message:

image image

Re,

Pas normal, que contient sNomFic as ce moment là !?

A+

C'est à dire? la valeur de la cellule Q3?

La valeur en Q3 est le résultat d'une formule; ="BC "&M2 soit BC 6

Re,

Au moment de l'erreur, vous cliquez sur "Débogage"

Vous pointez le curseur de la souris sur "sNomFic" et cela vous donne le contenu de la variable à ce moment la

Sinon dans la fenêtre d'exécution : ?sNomFic ou Debug.Print sNomFic

A+

L'objectif étant de supprimer tous les bons de commande commençants par la valeur en Q3 afin de ne garder qu'un seul bon avec un même numéro, le dernier établi par l'utilisateur.

En effet, si ce dernier souhaite modifier le bon de commande et recréer un pdf, le ou les derniers bons créés en amont doivent être détruits.

sNomFic = "BC 6*.*"

Re,

J'ai bien compris, c'est moi qui m'égare j'ai fait ça à l'arrache, j'ai modifié la Sub avec ceci

Pas besoin de boucle

  If Dir(sPath & sNomFic) <> "" then Kill sPath & sNomFic

A+

sNomFic = "" tout de suite après débogage

Re,

Réponse donné post d'avant, je me suis égaré

sNomFic = Dir

Est complètement erroné

Trop fort ça marche. Merci beaucoup BrunoM45

Il ne me reste plus qu'a l'intégrer dans mon code. Au bon endroit.

je devrais trouver.

merci beaucoup

Voici le code fini

Sub SupprimerCertainsFichiersDansDossier_2()
  Dim sPath As String, sNomFic As String
  ' le répertoire a vider. le chemin est indiqué dans la cellule Q4 par cette formule
  ' =STXT(V1;1;TROUVE("[";V1;1)-1)&"BONS DE COMMANDES\"&M1&"\"
  sPath = Range("Q4").Value
  If Right(sPath, 1) <> "\" Then sPath = sPath & "\"

   ' suppresion des fichiers dans ce répertoire commençant par la valeur trouvée en cellule Q3
   sNomFic = "" & Range("Q3").Value & "*.*"

  If Dir(sPath & sNomFic) <> "" Then
      Kill sPath & sNomFic
  End If
End Sub

Problème résolu.

Merci

Rechercher des sujets similaires à "supprimer fichiers repertoire nom valeur"