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

Word Discussion :

Macro pour insérer chaque document d'un répertoire dans un document Word


Sujet :

Word

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Macro pour insérer chaque document d'un répertoire dans un document Word
    Bonjour le forum

    J'ai fouillé sur différents forums, sans trouver mon bonheur, par conséquent je me lance ici.
    J'aurais le besoin suivant : j'ai des documents avec des extensions exotiques répartis dans de nombreux répertoires et je souhaiterais que chacun d'entre eux soit intégré dans un document word (Insertion\objet\créé à partir du fichier\affiché sous forme d’icone) et porterait le nom du fichier.

    Exemple : j'ai les fichiers toto.xxxx, titi.yyyy et tutu.zzzz dans le répertoire MACHIN. Une fois que ma macro (qui se trouvera également dans le répertoire MACHIN) aura tourné, je vais trouver dans mon répertoire MACHIN un fichier toto.docx, un fichier titi.docx et un fichier tutu.docx.
    Et si j'ouvre toto.docx, dans le document word, je retrouve toto.xxxx, si j'ouvre titi.docx, dans le document word, je trouve titi.yyyy etc....

    Je me suis essayé voir le code ci-dessous, mais ce que je cherche c'est que la macro me traite tous les fichiers les uns après les autres dans le répertoire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Sub Encapsuler()
    Dim chemin As String
     
    chemin = ActiveDocument.Path 'la macro est exécutée dans le répertoire où se trouvent les fichiers à traiter
    MyName = Dir("*.*")
    intPos = InStrRev(MyName, ".") 'objectif retirer l'extension dans le nom plus bas
    While MyName <> "" 'boucle pour traiter tous les fichiers contenus dans le répertoire
     Documents.Add 'ouverture d'un fichier word
        With Selection 'c'est dans les 4 lignes plus bas ou je souhaite que la boucle soit variable au regard de chaque fichier traité et ...ou je coince.
     
        .InlineShapes.AddOLEObject ClassType:="AcroExch.Document.DC", _
            FileName:=MyName, LinkToFile:=False, DisplayAsIcon:=True, IconFileName:= _
            "C:\windows\Installer\{AC76BA86-7AD7-1036-7B44-AC0F074E4100}\PDFFile_8.ico" _
            , IconIndex:=0, IconLabel:="Test.pdf"
     
        MyName = Left(MyName, intPos - 1) 'je ne retiens que la partie du nom que je veux accoler à la nouvelle extension
        ActiveDocument.SaveAs2 FileName:=chemin & "\" & MyName & ".docx" 'enregistré-sous au format docx dans le répertoire "Chemin"
        ActiveDocument.Close 'je referme le document actif une fois celui-ci enregistré
        End With
     MyName = Dir()
    Wend 'je boucle sur le fichier suivant
    MsgBox "fin du traitement"
    Toute aide sera la bienvenue.
    J'ai de très nombreux fichiers à "encapsuler" dans des fichiers word répartis dans des dizaines de répertoires...merci pour votre bienveillance
    Rénato

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Points : 41
    Points
    41
    Par défaut
    "je souhaite que la boucle soit variable au regard de chaque fichier traité et ...ou je coince."

    Peut-être en utilisant une variable tableau ? (Pour les variables de ce type voir le tuto de silky même si il est développé pour Excel ): https://silkyroad.developpez.com/vba/tableaux/

Discussions similaires

  1. BDD Excel - Macro pour remplir un document word
    Par shadown08 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/03/2017, 11h33
  2. Réponses: 0
    Dernier message: 10/01/2016, 15h36
  3. Macro pour insérer du texte dans un nouveau message
    Par arnolem dans le forum VBA Outlook
    Réponses: 12
    Dernier message: 21/03/2008, 14h47
  4. [VBA]Macro pour insérer la date
    Par vautour29 dans le forum Général VBA
    Réponses: 2
    Dernier message: 23/04/2007, 15h28
  5. [VBA-PP] macro pour insérer des images dans PowerPoint
    Par mashpro dans le forum VBA PowerPoint
    Réponses: 4
    Dernier message: 01/08/2006, 22h56

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