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

Macros et VBA Excel Discussion :

Relever mots-clés de fichiers Word vers un tableau Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut Relever mots-clés de fichiers Word vers un tableau Excel
    Bonjour,

    Après plusieurs recherches sur des forums, je n'ai toujours pas trouvé comment récupérer des mots d'un fichier Word (ou même Excel) pour les écrire dans une case bien précise dans Excel.

    Je m'explique : Mon but est de répertorier tous les dossiers/fichiers enregistrés dans le réseau informatique de l'usine dans laquelle je travaille.

    De ce fait, j'organise une page Excel comme l'image ci-jointe :
    Nom : Doc Excel.png
Affichages : 4010
Taille : 20,3 Ko

    Grâce à ma macro « Exécution », j’arrive à récupérer tous mes fichiers et dossiers dans le tableau de B5:Bfin pour les noms et de C5:Cfin pour les types du fichier. (En A1 j'ai mon dossier parent en path [H:\.......])
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub Exécution()
        Dim path As String
        Dim myaddress As String
        Dim myRange As Range
        myaddress = "B4"
        Set myRange = Range(myaddress)
    'Initialisation du chemin
         path = Range("A1").Value
        Call Lister_le_contenu(path, myRange)
        Range("B4:D4").Select
        Selection.AutoFilter
    End Sub

    Avec la macro intermédiaire Lister_le_contenu :
    Code vb : 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
    23
    24
    25
    26
     
    Sub Lister_le_contenu(p_Path As String, ByRef p_Range As Range)
        Dim fso As New FileSystemObject
        Dim f As Folder
        Dim sf As Folder
        Dim myfile As File
        Dim myRange As Range
        Set myRange = p_Range
    'Réference à l’objet du dossier
         Set f = fso.GetFolder(p_Path)
    'Relever les sous-dossiers
         For Each sf In f.SubFolders
        myRange.Offset(1, 1).Value = sf.Name
        myRange.Offset(1, 2).Value = sf.Type
        Set myRange = myRange.Offset(1, 0)
        Next
    'Relever les fichiers
         For Each myfile In f.Files
        myRange.Offset(1, 1).Value = myfile.Name
        myRange.Offset(1, 2).Value = myfile.Type
        myfile.Name
        Set myRange = myRange.Offset(1, 0)
        Call Lister_le_contenu(sf.path, myRange)
        Next
        Set p_Range = myRange
    End Sub

    Cependant pour les mots-clés, je ne sais pas comment m’y prendre pour relever un certain texte.

    Mes fichiers Word sont disposés comme ceci :
    1ère ligne : « Titre du document »
    2ème ligne : « Mots-clés : abc, def, ghi, … »

    Mes fichiers Excel sont disposés comme ceci :
    A1 : « Titre du document »
    A2 : « Mots-clés : abc, def, ghi, … »

    J’ai déjà réussi à récupérer les mots clés dans des fichiers texte avec la macro :
    (dans mon cas, j’ai écris ma ligne « Mots-clés : abc, def, ghi, … » sur la ligne 7).
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Sub Mots_clés_fichier_txt()
        Dim ifile As Integer
        ifile = FreeFile
        Dim x As Long
        Dim Data As String
        Open "H:\test.txt" For Input As #ifile
        x = 1
        Do While Not EOF(1)
        Line Input #ifile, Data 'Récupère ta ligne
         If x = 7 Then Cells(1, 1) = Data 'Inscrit Data dans la 1ere case de ton classeur
         x = x + 1
        Loop
        Close #ifile
    End Sub

    Par contre, cette macro me fait récupérer ma valeur de mots-clés dans la case A1 d’Excel, et que pour un seul fichier. Or, je veux que ça se mette dans ma colonne D : D (D6 pour le Fichier1.xlsx, par exemple).

    J’avais pensé à ouvrir, en macro, le fichier Word, le copier/coller en txt, copier la ligne avec les mots-clés, et supprimer ce fichier txt. Mais je n’y arrive pas du tout.


    Merci de votre aide.
    Bien à vous,
    nicolo9.

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2015
    Messages : 4
    Par défaut Nouvelles
    Salut à tous,

    Personne n'a d'idées concernant mon problème ?

    Merci.

Discussions similaires

  1. [WD-2010] Extraire les données d'un fichier Word dans un Tableau Excel
    Par emericle dans le forum Word
    Réponses: 1
    Dernier message: 21/08/2015, 14h52
  2. [XL-2010] Transférer des Informations Word vers un tableau Excel
    Par Emeline_9 dans le forum Excel
    Réponses: 1
    Dernier message: 17/02/2013, 18h18
  3. [XL-2010] Parser une multitude de fichiers Word dans un tableau Excel
    Par Aerial dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 31/07/2011, 17h45
  4. Réponses: 3
    Dernier message: 24/05/2008, 19h56
  5. Réponses: 1
    Dernier message: 25/03/2006, 15h45

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