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 :

Extraire des données word pour les insérer sous excel [Toutes versions]


Sujet :

Word

  1. #21
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Pas tout, le texte contenu entre les deux styles qui m'intéresse a aussi le même style que le reste du document (blabla a un style paragraphe1, et c'est aussi le style du reste du document, qui ne m'intéresse pas)
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  2. #22
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Citation Envoyé par progfou Voir le message
    OK, merci tout d'abord !
    Cette macro fonctionne bien, mais je n'ai pas détaillé mon besoin de manière suffisante.

    Il y a effectivement un style Identifiant, puis quatre autres informations dont je ne veux pas tenir compte puis le texte, et enfin, un style de Fin.

    Ca donne quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Identifiant 1
    Info1
    Info2
    Info3
    Info4
    blablabla
    (Fin)


    Salut,

    OK alors revoici le code de la macro avec la ligne à ajouter en rouge, on passe simplement les 4 paragraphes dont tu ne veux pas et le tour est joué.


    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
    Sub DVP_ExtraireLeTexteEntre2ParaMarqueurs()
        '// Aller en début de document
        Selection.HomeKey Unit:=wdStory
        
        '// Inserer un tableau de 2 colonnes et de 2 lignes
        ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed
        
        '// Rechercher le texte de style "Identifiant"
        Selection.Find.ClearFormatting
        Selection.Find.Style = ActiveDocument.Styles("Identifiant")
        With Selection.Find
            .Text = "^?"
            .Replacement.Text = ""
            .Forward = True
            .Wrap = wdFindStop
            .Format = True
            .MatchCase = False
            .MatchWholeWord = False
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        Selection.Find.Execute
        While Selection.Find.Found
            With Selection
                .MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
                .MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
            End With
            
            '// On stocke le texte de l'identifiant
            aIdentifiant = Trim(Selection.Text)
            Selection.MoveRight Unit:=wdCharacter, Count:=2
            
            Selection.MoveDown Unit:=wdParagraph, Count:=4
            Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
            While Selection.Paragraphs(Selection.Paragraphs.Count).Style <> "Fin_Identifiant"
                Selection.MoveDown Unit:=wdParagraph, Count:=1, Extend:=wdExtend
            Wend
            Selection.MoveUp Unit:=wdParagraph, Count:=1, Extend:=wdExtend
                    
            ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=1).Range.Start, End:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=1).Range.Start).InsertAfter aIdentifiant
            ActiveDocument.Range(Start:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=2).Range.Start, End:=ActiveDocument.Tables(1).Cell(Row:=ActiveDocument.Tables(1).Rows.Count - 1, Column:=2).Range.Start).InsertAfter Selection.Text
            '// On ajoute une ligne pour le tableau
            ActiveDocument.Tables(1).Rows.Add BeforeRow:=ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count)
            
            Selection.MoveDown Unit:=wdParagraph, Count:=1
            
            Selection.Find.Style = ActiveDocument.Styles("Identifiant")
            With Selection.Find
                .Text = "^?"
                .Replacement.Text = ""
                .Forward = True
                .Wrap = wdFindStop
                .Format = True
                .MatchCase = False
                .MatchWholeWord = False
                .MatchWildcards = False
                .MatchSoundsLike = False
                .MatchAllWordForms = False
            End With
            Selection.Find.Execute
        Wend
        
        '// On supprime les 2 dernières lignes du tableau
        ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count).Delete
        ActiveDocument.Tables(1).Rows(ActiveDocument.Tables(1).Rows.Count).Delete
        
        ActiveDocument.Tables(1).Select
        Selection.Copy
        '// Le presse-papier contient maintenant le tableau
        
        '// on supprime les modifications que l'on vient de faire sur le document. Attention,le tabelau n'est plus que dans le presse-papier
        'ActiveDocument.Close SaveChanges:=PromptToSave
    End Sub
    Attention, j'ai mis la dernière instruction en commentaires car elle ferme ton document sans en sauvegarder les modifications (donc le tableau) ==> le seul endroit où se situe ton tableau est le presse-papier.

    @+[/QUOTE]


    Citation Envoyé par progfou Voir le message
    Et je veux toujours obtenir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Identifiant 1 | blablabla 
    Identifiant 2 | autre texte
    etc.
    A noter que Info1, 2 etc. ont des styles différents, mais je veux les ignorer.

    Comment faire ?

    Merci d'avance !
    @+

  3. #23
    Membre éclairé

    Inscrit en
    Juin 2004
    Messages
    1 397
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 1 397
    Points : 763
    Points
    763
    Par défaut
    Merci beaucoup, c'est exactement ce que je voulais !
    Même si ça ne s'enregistre pas directement sous Excel, le copier/coller fonctionne bien .
    Aucune réponse à une question technique par MP.
    Ce qui vous pose problème peut poser problème à un(e) autre

    http://thebrutace.labrute.fr

  4. #24
    Expert éminent
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Points : 6 856
    Points
    6 856
    Par défaut
    Salut,

    Oui, en effet mais il fallait bien te laisser un petit truc à faire

    @+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 11
    Dernier message: 10/12/2023, 03h40
  2. Réponses: 0
    Dernier message: 05/09/2014, 21h11
  3. Réponses: 8
    Dernier message: 19/12/2013, 08h18
  4. Réponses: 9
    Dernier message: 14/03/2011, 20h06
  5. Extraire des données SAP en VBA à partir d'Excel
    Par Mike Twain dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/02/2011, 21h22

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