Supprimer fichier doc sans connaitre son nom

Macandre -  
 macandre -
Bonjour

'Suppression du fichier
Set Ftxt = fso.GetFile("moncheminsource") 'Fichier origine
Ftxt.delete

Avec ce programme , si je veux supprimer un fichier .doc mais que je ne connais pas son nom. Quel moyen je peux prendre ?

Si je fais ceci, il me dis que le fichier est introuvable :

'Suppression du fichier
Set Ftxt = fso.GetFile("c:\testv\*.doc") 'Fichier origine
Ftxt.delete

Merci de m'aider
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Jean-François Pillou Messages postés 18961 Date d'inscription   Statut Webmaster Dernière intervention   63 308
     
    Le mieux serait de lister les fichiers dans le répertoire avec GetFolder, faire une boucle les énumérant, puis faire un test sur leur nom pour voir s'ils possèdent l'extension .doc, puis les supprimer un par un dans la boucle !
    0
    1. Macandre
       
      Bonjour jeff. Merci pour ta réponse, je commence à me dire que je vais faire quelques chose comme ca.

      Mon but principal, est de prendre les fichiers doc d'un dossierX, de les copier dans un dossierY , vérifier s'il sont bien copier et ensuite les supprimer du premier dossierX.

      Si je fais FSO.CopyFile SubFolder & "\*.doc" , dossiertemp dans un fonction récursive tout ce fait bien mais je n'ai aucune trace du fichier copié.

      Ce que j'aimerais c'est connaitre le nom complet du fichier .doc qu'il trouve exemple blabla.doc pour ensuite savoir quel fichier.doc vérifier.

      Des que j'utilise getfile ou etc, et que j'affiche le nom du dossier, il me marque *.doc et nom blabla.doc

      Je ne sais pas si tu peux m'aider svp.
      0
  2. Utilisateur anonyme
     
    Bonjour,

    Voici un exemple de base :

    Sub Suppression()
    
        Const RepSource = "C:\Documents local\essai\"
        
        Dim objFSO As Variant, objFichier As Variant, objRepertoire As Variant
        Dim Longueur As Integer, Compteur As Integer, Extension As String
        Dim Boite() As String
    
        Dim NumFic As Integer
        Dim Valeur As String
        Dim Boucle As Integer
    
    
        Set objFSO = CreateObject("Scripting.FileSystemObject")
    
        Set objRepertoire = objFSO.GetFolder(RepSource)
        Compteur = 0
        If (objRepertoire.Files.Count > 0) Then
            For Each objFichier In objRepertoire.Files
                Longueur = Len(objFichier.Name)
                Extension = Mid(objFichier.Name, Longueur - 2)
                If (Extension = "doc") Then
                    ReDim Preserve Boite(Compteur) As String
                    Boite(Compteur) = objFichier.Name
                    Compteur = (Compteur + 1)
                    objFSO.DeleteFile (RepSource & objFichier.Name)
                End If
            Next
        End If
    
    
        
        Valeur = "C:\Documents local\essai\Essai.txt"
        NumFic = FreeFile
        
        Open Valeur For Output As #NumFic
        For Boucle = 0 To (Compteur - 1)
            Write #NumFic, Boite(Boucle)
        Next Boucle
        Close #NumFic
    
        Set objFSO = Nothing
        Set objRepertoire = Nothing
    
    End Sub
    


    Vous aurez ainsi tous les noms des fichiers supprimés dans le fichier texte [ C:\Documents local\essai\Essai.txt ].

    Lupin
    0
  3. macandre
     
    Merci, je vais travailler la-dessus :)
    0