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 :

Récupérer texte word depuis excel [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien laboratoire
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien laboratoire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut Récupérer texte word depuis excel
    Bonjour,

    Je voudrais essayer de faire une macro sous excel 2007 qui me permettrait de récupérer des informations présentent sur chacunes des pages d'un fichier Word 2007.
    Je suis encore novice dans les macro, j'arrive à me dépatouiller pour faire ce que je veux sous excel, mais là entre word et excel, j'ai un peu de mal...

    Chacune des pages de mon fichier word sont structurées de la même façon (voir pièce jointe) :
    1 tableau et 1 ligne de texte juste sous le tableau

    Je voudrais récupérer les valeurs de quelques case du tableau et la ligne de texte qui se trouve sous le tableau et mettre tout ça dans un fichier excel sur la même ligne et donc faire une ligne excel par page du fichier word (j'espère que c'est clair)

    Ci-joint une exemple d'une des page du fichier word, dans mon fichier, j'ai pas loin de 200 pages structurées de la même façon, juste les infos de chaque pages qui changent.

    Je voudrais récupérer les infos que j'ai marqué "Test", "Code" ainsi que la ligne "aaaaa:bbbbb ccccccc ddddd" que j'ai mis dans mon exemple et les mettre sur une ligne pour chaque page dans un fichier excel.

    Ce qui me manque c'est surtout les commandes permettant d'interagir dans un fichier word depuis excel.

    Je tiens, dans la mesure du possible, à lancer la macro depuis excel et non depuis word (j'imagine que les 2 cas sont possible...)


    Merci d'avance
    Cordialement
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien laboratoire
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien laboratoire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut
    Bonjour,

    Merci beaucoup QuestVba

    Ton lien m'a bien aidé

    voici mon code où il en est :

    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
    Sub importTableauWord()
    'Nécessite d'activer la référence:
        'Microsoft Word xx.x Object Library
     
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    Dim Tableau As Word.Table
     
    'Création instance Word
    Set WordApp = New Word.Application
    'Masque Word pendant l'opération
    WordApp.Visible = False
     
    'Ouvre le document Word
    Set WordDoc = WordApp.Documents.Open("C:\temp\Test.docx")
     
    'Représente le premier tableau dans le document
    Set Tableau = WordDoc.Tables(1)
     
    'Récupération des données
    donnee1 = WordDoc.Tables(1).Cell(3, 1).Range.Text
    donnee2 = WordDoc.Tables(1).Cell(2, 3).Range.Text
    donnee3 = WordDoc.Sentences(WordDoc.Sentences.Count)
     
    'Insertion des donnée dans la feuille de calcul + conversion
    Cells(1, 1).Value = Left(donnee1, Len(donnee1) - 2)
    Cells(1, 2).Value = Left(donnee2, Len(donnee2) - 2)
    Cells(1, 3).Value = donnee3
    Cells(1, 3).TextToColumns Destination:=Cells(1, 3), Tab:=True
     
     
    'Ferme le document Word
    WordDoc.Close False
    'Ferme l'instance Word
    WordApp.Quit
    End Sub
    Jusque là tout va bien, ça marche comme je veux, mais là, ça marche trés bien pour une seule page et je sent très bien les complications venir au moment d'appliquer ce code à toutes les pages de mon document...

    Vais me pencher sur le problème, me je sent que je vais être assez rapidement limité surtout pour récupérer la dernière phrase de chaque pages (donnee3)

  4. #4
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Bonjour

    tu peux faire une boucle sur tous les tableaux de ton doc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    dim oTbl As Table
     
    For Each oTbl in ActiveDocument.Tables
    ...
    ...
    ...
    Next oTbl

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien laboratoire
    Inscrit en
    Mars 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Technicien laboratoire
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 5
    Par défaut
    Encore merci pour ton aide

    J'ai essayé avec ton ptit morceau de code, mais le problème est que les premiers tableaux du document ne m'interessent pas et ne sont pas de la même structure, enfin bref, je me suis débrouillé avec avec une boucle For...Next et le résultats me satistait pleinement.

    Mon soucis est pour récupérer la phrase sous chacun des tableaux en bas de chaque page et je dois avoué que je n'arrive pas encore à faire des boucles sur les pages et les numéro de pages..j'ai encore du mal avec les commandes VBA de word... mais je désespére pas^^

  6. #6
    Membre Expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 475
    Par défaut
    Un petit plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'Sélection de ton tableau
    ActiveDocument.Tables(1).Select
    'Placer le curseur juste après le tableau
    With Selection
    .MoveDown Unit:=wdLine, Count:=1 'descend d'une ligne
    End With
    'Sélection du paragraphe
    Selection.StartOf Unit:=wdParagraph
    Selection.MoveEnd Unit:=wdParagraph

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2007, 10h55
  2. Question sur accès fichier word depuis excel (VBA)
    Par jerome.grange dans le forum VBA Word
    Réponses: 6
    Dernier message: 22/09/2006, 17h34
  3. Enregistrer les données d'une table dans un fichier texte word ou excel
    Par maamar1979 dans le forum Connexion aux bases de données
    Réponses: 2
    Dernier message: 14/06/2006, 13h41
  4. coller une plage dans word depuis excel
    Par tarmin dans le forum VBA Word
    Réponses: 7
    Dernier message: 18/01/2006, 10h16
  5. Ouverture d'un template Word depuis Excel
    Par modus vivendi dans le forum VBA Word
    Réponses: 1
    Dernier message: 14/08/2005, 10h29

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