Macro pour récupérer les noms + prénoms de fichier Word dans fichier Excel

Bonjour le forum,

Après des recherches sur le net et n'ayant pas de connaissance suffisamment poussées en VBA, est-il possible de récupérer tous les noms + prénoms de chaque page du document Word (en PJ) et de venir alimenter une colonne d'un fichier Excel (en colonne A, à partir de A2 dans mon fichier joint) ?

Les informations apparaissent plusieurs fois dans la page, du coup je pense qu'il va falloir trouver une façon de les identifier une seule fois. Il est tout à fait possible d'imaginer de mettre en italique part exemple la portion de chaîne à récupérer (j'ai fais ça dans mon fichier Word pour essai au cas ou)

Si il y a une autre façon de faire ou mieux je suis preneur !

Je joint mes fichiers pour test.

En avance un grand merci pour votre aide.

10samsam.zip (24.51 Ko)

Re bonjour à tous,

J'ai tenté de continuer et avancer seul de mon côté et je suis tombé sur le code suivant que j'essaye d'adapter à mon cas mais je galère un peu.

Je comprends l'idée générale de la macro mais je manque de connaissance pour l'adapter au plus précis de mon souhait.

Voici le code en question :

Sub extract()
    Dim Paragraphe As Object, WordApp As Object, WordDoc As Object
    Dim Txt As String, Deb As Integer, Fin As Integer, Tabl, Ligne As Integer
 'le document Word est supposé fermé avant le lancement de la macro
    With Sheets("Feuil1")
        Fichier = "CHEMIN DU FICHIER DOC A TRAITER"
        'creation session Word
        Set WordApp = CreateObject("Word.Application")
        'pour que word reste masqué pendant l'opération
        WordApp.Visible = False
        'ouverture du fichier Word
        Set WordDoc = WordApp.Documents.Open(Fichier)
        For Each Paragraphe In WordDoc.Paragraphs
            Txt = Paragraphe.Range.Text
            If InStr(1, Txt, "@") > 0 And InStr(1, Txt, "/@") > 0 Then
            Deb = InStr(1, Txt, "@") + 2
            Fin = InStr(1, Txt, "/@") - 10
            Tabl = Split(Mid(Txt, Deb, Len(Txt) - Fin), ".")
            For Each Item In Tabl
                Ligne = Ligne + 1
                .Cells(Ligne, 1) = Item
            Next Item
            End If
        Next Paragraphe
        WordDoc.Close
        WordApp.Quit
        Set WordDoc = Nothing
        Set WordApp = Nothing
    End With
End Sub

Alors le soucis est que je n'arrive pas à récupérer la totalité du nom + prénom mais pas forcément pour toutes pages, pourquoi ??

Et la macro "SPLIT" le résultat et insère le nom dans une cellule et le prénom dans celle de dessous : moi j'aimerai avoir les 2 dans la même cellule --> j'ai switcher la fonction "split" mais je pense qu'il y a plus propre à faire ^^.

Je mets les 2 fichiers de travail aussi.

Un grand merci d'avance pour votre aide.

8samsam-extract.zip (29.43 Ko)

Bonjour,

Ci-jointe, une proposition basée sur le fait que la donnée que tu veux extraire est présente dans une ligne formatée.

15excel-recup2.xlsm (20.94 Ko)

Bonjour,

Un grand merci pour la proposition qui fait le taff à merveille !!

Bonne journée.

Rechercher des sujets similaires à "macro recuperer noms prenoms fichier word"