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 :

Comment extraire le contenu Word vers Excel [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut Comment extraire le contenu Word vers Excel
    Salut à tous

    mon projet consiste a extraire du texte bien precis et quelques champs partciulier a partir d'un fichier word pour les mettre dans un fichier excel

    les qestions :

    Es ce que le principe de la macro sest le bon moyen pour mon probleme ?

    Ou dois je creer la macro ( je pense que c dans mon fichier word qui contient les donnees a extraire dans l excel ) ??

    quelqu un peut me donner un exemple de code qui marche ou mme une idee


    Meri d avance pour votre aide

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    Chaque document Word est un cas particulier. Il n'y a pas de cellules avec des adresses pour repérer tel ou tel texte.

    Il faut donc d'abord analyser
    si tous tes documents (je n'ai pas compris si tu en as un ou plusieurs) sont sur le même modèle,
    ce qui peut permettre de repérer les éléments de texte que tu souhaites récupérer.

    Après s'il y a plusieurs documents texte, il vaut mieux placer le code dans Excel ou dans un document indépendant.

    Dans les ressources de ce site tu trouveras des exemples pour piloter Word à partir d'Excel.

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Salut

    J'ai plusieurs fichiers du meme modele mais je préfére deja commencer par un seul fichier word pour faciliter le probleme.

    Quand t dis analyse tu veux dire quoi voir comment il est constitué le fichier ?
    et si c'est ça quelle methode me conseille tu ??? sachant que c juste un document d'architecture technique avec des tableaux paragraphes et listes )

    Mon but est d'extraire quelques données bien précises a partir d'un fichier word par exemple le titre et le contenu d'une ligne ou/et colonne d'un tableau vers un fichier Excel ç-à-d faire une extraction par mot clés

    NB j'ai deja un petit bout de code qui m extrait un tableau précis dans un fichier word vers un fichier Excel

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub importTableWord_VersExcel()
    '
    ' importTableWord_VersExcel Macro
    '
    'Nécessite d'activer la référence:
        'Microsoft Word xx.x Object Library
     
    Dim WordApp As Object
    Dim WordDoc As Object
    Dim Tableau As Object
    Dim i As Integer, j As Integer
     
     
    'Création instance Word
    		Set WordApp = CreateObject("Word.Application")
     
    'Masque Word pendant l'opération
    		WordApp.Visible = False
     
    'Ouvre le document Word
    		Set WordDoc = WordApp.documents.Open("E:\DAT NINJA CIE G2R0 S1F3.doc")
     
    'Représente le premier tableau dans le document
    		Set Tableau = WordDoc.Tables(1)
     
    'Boucle sur les colonnes de chaque tableau
    		For i = 1 To Tableau.Columns.Count
     
    'Boucle sur les cellules de chaque colonne
        		For j = 1 To Tableau.Columns(i).Cells.Count
     
    'Importe les données du tableau dans la feuille active
            	ActiveSheet.Cells(j, i) = Tableau.Columns(i).Cells(j)
        			Next j
    			Next i
     
    'Ferme le document Word
    		WordDoc.Close False
    'Ferme l'instance Word
    		WordApp.Quit
     
    '
        Application.Goto Reference:="importTableWord_VersExcel"
     
    End Sub

    Merci beaucoup pour ton aideee

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    L'analyse consiste à repérer dans quelle position est l'info à rechercher.
    Par exemple : peut-on la trouver par recherche ou bien est-elle toujours au début du Nième paragraphe ou derrière tel mot clé...

    Si ce que tu extrait est dans un tableau : tu peux trouver le tableau comme tu l'as fait. Après est-ce toujours la même ligne ou non, etc.

    Ici on n'a pas d'adresse comme dans Excel, donc le repérage est plus délicat d'où la nécessité de trouver une logique.

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    Merci de m'avoir repondu

    En effet c'est une recherche dans des tableaux par mot clés je te joints n fichier word avec un tableau pour mieux voir, jaimerai extraire les information que tu trouvera en ROUGE pour en suite les enregistrer dans des onglet deja defini dans fichier excel ( les onglet sont les meme que les titres des lignes du tableux qui sont en VERT )


    si tu as besoin de plus de details n hesite passs
    Merci pour ton aide

  6. #6
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    Voici un exemple de logique : je te laisse incorporer les paste dans Excel après les copy
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Sub selections_copies()
    '
    '
    '
    Dim themes(6)
    themes(1) = "système d'exploitation"
    themes(2) = "Base de données"
    themes(3) = "WAS, Serveurs Web"
    themes(4) = "Service d'infrastructure"
    themes(5) = "Environnement de développement"
    themes(6) = "Autres"
     
    For i = 1 To UBound(themes)
        With Selection.Find
            .Replacement.ClearFormatting
            .ClearFormatting
            .Text = themes(i)
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        Selection.MoveRight Unit:=wdCell
        Selection.Copy
        If i <> 4 Then
            Selection.MoveRight Unit:=wdCell
            Selection.Copy
        End If
        If i = 5 Then
            Selection.MoveRight Unit:=wdCell, Count:=3
            Selection.Copy
            Selection.MoveRight Unit:=wdCell
            Selection.Copy
        End If
    Next i
    End Sub

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour 78chris

    je tiens deja a vous remicier pour votre aide

    en effet je vois que vous avez compris ce que je voulais faire, j'ai essayer de faire le paste omme tu me l'as demandé mais j arrive pas comment incorporer ces paste dans Excel après les copy jai essayé avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Range("A1").Select
        'collage des données dans Excel
        ActiveSheet.Paste
    Si vous voyez que c'est plus facile de faire un paste dans un autre ficher word je suis preneur aussi mon bute c juste de copier coller ces données vers un autre fichier excel ou word

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    Sub selections_copies()
    '
       'nécessite d'activer la référence
            'Microsoft Word xx.x Object Library
        Dim WordApp As Object
        Dim WordDoc As Object
        Dim Fichier As String
        Dim themes(6) As String
     
        'le document Word est supposé fermé avant le lancement de la macro
        Fichier = "E:\DAT.doc"
        '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)
    '
    themes(1) = "système d'exploitation"
    themes(2) = "Base de données"
    themes(3) = "WAS, Serveurs Web"
    themes(4) = "Service d'infrastructure"
    themes(5) = "Environnement de développement"
    themes(6) = "Autres"
     
    For i = 1 To UBound(themes)
        With Selection.Find
            .Replacement.ClearFormatting
            .ClearFormatting
            .Text = themes(i)
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        Selection.MoveRight Unit:=wdCell
        Selection.Copy
        If i <> 4 Then
            Selection.MoveRight Unit:=wdCell
            Selection.Copy
        End If
        If i = 5 Then
            Selection.MoveRight Unit:=wdCell, Count:=3
            Selection.Copy
            Selection.MoveRight Unit:=wdCell
            Selection.Copy
        End If
    Next i
     
     Range("A1").Select
        'collage des données dans Excel
        ActiveSheet.Paste
     
     
    End Sub


    Merci Beaucoup pour votre précieuse aide

  8. #8
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    Code modifié : compte tenu des fins de paragraphes figurant dans certaines cellules, afin déviter des sauts de lignes dans Excel, je les remplace par des retours à la ligne

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Sub selections_copies()
    '
       'nécessite d'activer la référence
            'Microsoft Word xx.x Object Library
        Dim WordApp As Object
        Dim WordDoc As Object
        Dim Fichier As String
        Dim themes(6)
        Dim valeur As String
     
        'le document Word est supposé fermé avant le lancement de la macro
        Fichier = "E:\DAT.doc"
        '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)
    '
    themes(1) = "système d'exploitation"
    themes(2) = "Base de données"
    themes(3) = "WAS, Serveurs Web"
    themes(4) = "Service d'infrastructure"
    themes(5) = "Environnement de développement"
    themes(6) = "Autres"
     
    For i = 1 To UBound(themes)
        With WordApp.Selection.Find
            .Replacement.ClearFormatting
            .ClearFormatting
            .Text = themes(i)
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
            .Execute
        End With
        With WordApp
            .Selection.MoveRight Unit:=wdCell
            valeur = Replace(.Selection, Chr(13), Chr(10))
            ActiveSheet.Cells(i + 1, 1) = valeur
            If i <> 4 Then
                .Selection.MoveRight Unit:=wdCell
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 2) = valeur
            End If
            If i = 5 Then
                .Selection.MoveRight Unit:=wdCell, Count:=3
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 3) = valeur
                .Selection.MoveRight Unit:=wdCell
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 4) = valeur
            End If
        End With
    Next i
     
    WordApp.Quit
    End Sub

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Re 78chris

    Encore une fois milles merci pour ton aide

    jai crée une maro dans excel ou j'ai collé ton code mais j'ai une erreur d'excution 4120 ( paramètre incorrect ) a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .Selection.MoveRight Unit:=wdCell
    Jai un peu chercher sur le net la cause jai trouvé que faut ajouter les initiales de l'utilisateur dans option word...c'est ce que jai fais ca ne marche pas

    Merci

  10. #10
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    Sur ton fichier Word cela fonctionne sans problème chez moi.

    Cette commande permet de se déplacer vers la droite dans un tableau Word (équivalant à la touche TAB)

    Il y en a plusieurs dans le code : as-tu l'erreur sur le 1er ?

    Les initiales n'ont aucune incidence sur le VBA...

    Si tes fichiers Word sont différents il faut adapter le code : je t'ai donné le principe...

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour 78chris

    Merci beaucoup pour tes reponses rapides

    En effet j'ai l'erreur que sur la premiere ligne a ton avis c'est quoi le Probleme

    Dis moi tu as fais le test avec le fichier que je t'ai joint dernierement (Produit logiciel) ou sur un autre ?.
    Moi c'est avec ce fichier que je fais le test pour extraire le contenu des cellules vers un fichier excel et ça marche pas

    Question bete tu mets ta macro sur ton fichier excel c'est ça ??

  12. #12
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    As-tu essayé de mettre le code dans un classeur Excel vierge avant de le copier dans ton code ?

    Il marche bien sur ton Word Produit logiciel chez moi

  13. #13
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Saluut 78chris,

    J'ai pas compris ta phrase "avant de le copier dans ton code"
    Moi Ce que je fais, j'ouvre un nouveau fichier Excel (classeur )
    puis je crée une macro et je colle le code que tu ma donné dernièrement C'est ça ..

    Stp peux tu me passer ton fichier excel ou tu as le resultat ?

    Merciii beaucoup

  14. #14
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 473
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 473
    Points : 16 357
    Points
    16 357
    Par défaut
    Bonjour

    Ci-joint.

    Chemin d'accès au fichier Word à changer dans le code.

  15. #15
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour 78chris !

    Merci milles fois pour ton aide

    Derniere phase de Mon projet cette fois je dois extraire des données de 2 tableaux word sachant que ya plsuieurs...
    le probleme je sais pas comment organiser l'extraction de Chaque tableau et surtout le collage dans excel

    exemple

    Dans le tableau Produit logiciel je veux extraire les cellules de la colonne Nom qui sont :
    themes(1) = "système d'exploitation"
    themes(2) = "Base de données"
    themes(3) = "WAS, Serveurs Web"
    themes(4) = "Service d'infrastructure"
    themes(5) = "Environnement de développement"
    themes(6) = "Autres"

    et sans oublier le contenu de la colonne version

    et dans le tableau Flux Applictif je veux extraire tout contenu des colonnes :
    partenaire/recepteur
    Potecole/Reseau


    Voici mon code que j essaies de faire en s'inspirant du tien

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Sub selections_copies()
    '
       'nécessite d'activer la référence
            'Microsoft Word xx.x Object Library
        Dim WordApp As Object
        Dim WordDoc As Object
        Dim Fichier As String
        Dim themes(6)
        Dim valeur As String
        Dim TabPL As Object
        Dim TabFA As Object      
     
        'le document Word est supposé fermé avant le lancement de la macro
        Fichier = "E:\DAT.doc"
        '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)
     
    'Représente le numero du tableau "produit logciel" dans le document
            Set TabPL = WordDoc.Tables(12)
     
    themes(1) = "système d'exploitation"
    themes(2) = "Base de données"
    themes(3) = "WAS, Serveurs Web"
    themes(4) = "Service d'infrastructure"
    themes(5) = "Environnement de développement"
    themes(6) = "Autres"
     
     '....Boucle sur les Themes
    For i = 1 To UBound(themes)
     
        With WordApp.Selection.Find 
            .Replacement.ClearFormatting  
            .ClearFormatting                                           
            .Text = themes(i)  
            .Replacement.Text = ""        
            .Forward = True               
            .Wrap = wdFindContinue 
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False 
            .Execute
     
        End With
        With WordApp
     
            .Selection.MoveRight Unit:=wdCell
            valeur = Replace(.Selection, Chr(13), Chr(10))                                                         
            ActiveSheet.Cells(i + 1, 1) = valeur
            If i <> 4 Then
                .Selection.MoveRight Unit:=wdCell
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 2) = valeur
            End If
     
            If i = 5 Then
                .Selection.MoveRight Unit:=wdCell, Count:=3
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 3) = valeur
     
                .Selection.MoveRight Unit:=wdCell
                valeur = Replace(.Selection, Chr(13), Chr(10))
                ActiveSheet.Cells(i + 1, 4) = valeur
            End If
        End With
    Next i
     
    'Représente le numero du tableau "produit logciel" dans le document
            Set TabFA = WordDoc.Tables(7)
    'Boucle sur les 2 premieres LIGNES du tableau
            For i = 1 To 8
    'Boucle sur les 2 premieres CELLULES de chaque colonne
                For j = 3 To 4	
    'Importe les données du tableau dans la feuille active
                ActiveSheet.Cells(12, 8) = Tableau.Columns(i).Cells(j)
                    Next j
                Next i
    WordApp.Quit
    End Sub

    Merci encore une fois pour ton aide

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Salut 78chris

    j'essaie depuis longtemps d'excuter ton code que tu m'as donné mais il ne marche pas

    Des fois il me renvoit l'erreur 4021 ( Paramètre Incorect) sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Selection.MoveRight Unit:=wdCell 
    ou le Excle qui se bloque en me disant que il est en attente qu'une autre application soit excuter OLE

    Tu as une idée de mon problème ?

    Merciii

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 28
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Je suis en train de travailler sur ce sujet, et donc ce topic m’intéresse. Je vous tiendrai au courant de l’évolution de ma macro et cela vous aidera peut être dans votre projet aussi.

    cordialement,
    Djamat

  18. #18
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 164
    Points : 88
    Points
    88
    Par défaut
    Bonjour à tous

    Après plus de 3 mois de travail je suis arrivé enfin a faire une macro qui fonctione bien mais surtout d'une façon précise qui peut aller cherher n'importquelles données dynamiques dans plusieurs documents Word selon de nombreux conditions assez avancées

    Si quelqu un veut de l'aide qu il me contacte en MP

    Je vous rappelle mon besoin :

    Dans Un répertoire j’ai plusieurs documents Word
    Dans chaque document j'ai plusieurs pages avec des tableaux , paragraphes etc.

    Exemple dans CHAQUE fichier Word j’ai une page qui a :
    1.1. Produits techniques (autres que matériels) (§C.3)
    · Produits logiciels
    Puis juste au dessous Jai un tableau

    But :
    C'est de pourvoir sélectionner ce PREMIER tableau qui juste au-dessous de ces deux lignes en Gras pour pourvoir ensuite extraire les cellules que je veux vers un fichier Excel

    NB : je veux pas utiliser l’indice du tableau car l’extraction se fait simultanément pour tous les fichiers Word sur ce même tableau qui présents dans CHAQUE fichier mais qui change d’indice d’un fichier a l’autre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Extraire Trois cellules Word vers une cellule Excel
    Par jérémyp8 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 23/07/2013, 15h43
  2. Comment extraire le contenue d'un fichier Word
    Par didi2005 dans le forum C#
    Réponses: 1
    Dernier message: 26/09/2007, 16h49
  3. Comment exporter un lien hypertexte vers excel
    Par Celia1303 dans le forum Access
    Réponses: 2
    Dernier message: 11/10/2005, 09h33

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