FSO rechercher un fichier

Bonsoir, malgré plusieurs tentatives je ne comprend pas le fonctionnement de FSO pour rechercher un fichier par son nom dans un dossier et sous dossier. Le but et de récupérer le chemin complet de ce fichier pour l’attribuer a une variable . Merci d’avance de votre aide .

Bonsoir,

ci-joint exemple de recherche de fichier par son nom avec pour résultat le chemin complet de ce fichier

Merci pour votre réponse. Je vais regarder votre exemple , merci pour votre aide.

Merci pour votre réponse. Je vais regarder votre exemple , merci pour votre aide.

Merci beaucoup pour ce fichier,cela correspond à ce que je souhaite faire . Mais c’est pour trouvé un fichier Word.Et je voudrais éviter les fenêtres, car une de mes macros attribue le nom du fichier à une variable fichier_chercher . Pour faire la recherche FSO . Merci pour votre aide

Bonjour,

Il suffit de supprimer de l'InputBox et de la remplacer par un paramètre à fournir à la procédure

Bonjour merci pour votre aide . C’est bon je viens d’arriver à faire ce que je souhaite . Plus qu’à voir pour comment faire pour que le mail soit enregistré automatiquement avec ces paramètres :

019ee461 1d6c 4994 a525 64dbd4a4c825

et une catégorie particulière avec un suivi et rappel. Voici mon code si cela peut aider certaine personne :

option Explicit
Public nomfichier As String
Public typefichier As String
Public Recherche As String
Public pj As String

Public Sub Application_Reminder(ByVal Item As Object)

    Dim objMsg As MailItem

    Set objMsg = Application.CreateItem(olMailItem)

    If Item.MessageClass <> "IPM.Appointment" Then 'Vérifie si il sagit d'un rapel dans le calendrier
        Exit Sub
    End If

    If Item.Categories <> "MAILS AUTOMATIQUES" Then 'Vérifie si le rappel fait partie de la catégorie: MAILS AUTOMATIQUES
        Exit Sub
    End If

    objMsg.Importance = olImportanceHigh
    objMsg.To = Item.Location
    objMsg.CC = "romain.@"
    objMsg.Subject = Item.Subject
    objMsg.Body = Item.Body

    'demande AR
    objMsg.OriginatorDeliveryReportRequested = True
    'demande confirmation de lecture
    objMsg.ReadReceiptRequested = True

  Dim nom_fichier As String, nom_fichier_complet As String, répertoire As String
    Dim Fso As Object, dossier_départ As Object

    '// création objet FilesSystem
    Set Fso = CreateObject("Scripting.FilesystemObject")

    '// Choix du nom_fichier
    nom_fichier = Item.Subject

    '// Choix du répertoire de départ
    répertoire = "C:\Users\....."

    '// recherche des fichiers
    Set dossier_départ = Fso.GetFolder(répertoire)
    nom_fichier_complet = Empty
    rech_fichier Fso, dossier_départ, nom_fichier, nom_fichier_complet
    If nom_fichier_complet = Empty Then MsgBox "Aucune pièce jointe ne correspond a ce rappel !", vbOKOnly + vbCritical, "Problème de pièce-jointe" _
      Else: MsgBox "Une pièce jointe  correspond a ce rappel !Pensez à établir et envoyé le devis!! En cliquant sur OK  vous allez géneré le mail,et un rappel pour le devis. ", vbOKOnly + vbInformation, "Une pièce-jointe existe pour ce rappel!"

    objMsg.Attachments.Add pj
    'MsgBox "Noubliez pas de faire le devis pour ce rappel!", vbOKOnly, vbCritical, "Rappel rédaction devis!"
    objMsg.Categories = "DEVIS POUR CONTROLE PERIODIQUE"
     objMsg.FlagRequest = "Assurer un suivi"
    objMsg.TaskSubject = "DEVIS" + Item.Subject
    objMsg.TaskStartDate = Now
    objMsg.TaskDueDate = Now + 10
    ogbjmsg.ReminderSet = True
    objMsg.ReminderTime = Now + 1
   objmsg.
    objMsg.Display
    'objMsg.Categories = "DEVIS POUR CONTROLE PERIODIQUE"
    'objMsg.FlagRequest = "Assurer un suivi"
    'objMsg.TaskSubject = "DEVIS" + Item.Subject
    'objMsg.TaskStartDate = Now
    'objMsg.TaskDueDate = Now + 10
    'ogbjmsg.ReminderSet = True
    'objMsg.ReminderTime = Now + 1

Set Fso = Nothing
Set objMsg = Nothing

End Sub

Sub rech_fichier(Fso As Object, dossier As Object, nom1 As String, nom2 As String)
    Dim sous_dossier As Object, fichier As Object
    Dim nom As String, extension_fichier As String

    '// recherche fichiers
    For Each fichier In dossier.Files
        extension_fichier = Fso.GetExtensionName(fichier.Path)
        nom = Replace(fichier.name, "." & extension_fichier, "") 'supprime l'extension du nom
        If nom = nom1 Then

         nom2 = fichier.Path: Exit For
        End If
    Next fichier
     '// recherche sous-dossier
    For Each sous_dossier In dossier.SubFolders
        If nom2 <> Empty Then Exit For
        rech_fichier Fso, sous_dossier, nom1, nom2
    Next
     pj = nom2

End Sub

merci encore à tt les membres du forum.

bonjour a tous.

malgré mes essais, je n'arrive pas a effectué les derniers paramètres a mon mail .

je souhaite enregistré une copie du mail envoyé dans un dossier sur la boite mail nommé "MAILS CONTROLE PERIODIQUE "

Et créer une tache en utilisant le mail avec un rappel automatique journalier et une catégorie spécifique "DEVIS CONTROLE PERIODIQUE" pour me rappelé de faire le devis .

merci d'avance des pistes que vous pourrez m'apporté ou des tutos en Français sur vba outlook pour arrivé a progressé merci d'avance.

bonne journée.

Rechercher des sujets similaires à "fso rechercher fichier"