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 lignes avec chaine de caractères définies


Sujet :

Word

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut extraire lignes avec chaine de caractères définies
    Bonjour à tous,

    j'ai un document word de plusieurs centaines de pages et j'aimerais savoir s'il est possible d'extraire que certaines lignes du document. Je fournis un exemple abrégé du document original:

    Les lignes que j'aimerais conserver dans le document source ont les chaines de mots suivants:

    CWTO
    =NEW=
    SEVERE THUNDERSTORM WATCH FOR:
    SEVERE THUNDERSTORM WARNING FOR:

    Voilà,
    je vous remercie
    Jean-Luc
    Fichiers attachés Fichiers attachés

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pourquoi les extraire si ce sont celles que tu souhaites garder ?

    Supprime toutes les lignes qui ne commencent pas par les mots souhaités.

    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
     
    Sub SupprimerPAra()
    Dim pAra As Paragraph
     
     
    For Each pAra In ActiveDocument.Paragraphs
        If Not Mid(pAra.Range.Text, 8, 4) = "CWTO" Then
            'Debug.Print "OK 01" & " --- " & Not Mid(pAra.Range.Text, 8, 4) = "CWTO"
     
            If Not Left(pAra.Range.Text, 32) = "SEVERE THUNDERSTORM WARNING FOR:" Then
                    'Debug.Print "OK 02"
                If Not Left(pAra.Range.Text, 30) = "SEVERE THUNDERSTORM WATCH FOR:" Then
                    pAra.Range.Delete
                End If
            End If
        End If
     
     
     
    Next pAra
     
     
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Bonjour Olivier,

    j'ai réussi à faire fonctionner la macro (ma première avec Word). La macro semble prometteuse (super rapide) sauf que je voudrais aussi conserver toutes les lignes qui commencent avec: =NEW=

    J'ai tenté d'ajouter quelques lignes de codes à votre VBA:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each pAra In ActiveDocument.Paragraphs
        If Not Mid(pAra.Range.Text, 5) = "=NEW= " Then
            'Debug.Print "OK 02"
    mais le résultat a été le même. Suggestion svp.

    Merci
    Jean-Luc
    PS: Vos références sur VBA sont fort appréciées.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    Bonjour,

    j'ai finalement saisi mon erreur dans l'ajout. J'aurais plutôt dû écrire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For Each pAra In ActiveDocument.Paragraphs
        If Not Mid(pAra.Range.Text, 1, 5) = "=NEW=" Then
    Tout fonctionne bien maintenant.
    Merci encore
    Jean-Luc

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Mid doit prendre trois arguments, le texte, le départ dans le texte et le nombre de caractères à prendre.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

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

Discussions similaires

  1. Radio button avec chaine de caractères sur 2 lignes
    Par 65days dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 21/09/2009, 08h33
  2. Problème avec chaine de caractère
    Par Mouss340 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/12/2007, 20h46
  3. Problème avec chaine de caractères
    Par Nicegame dans le forum C
    Réponses: 7
    Dernier message: 27/04/2007, 18h35
  4. Condition avec chaine de caractère
    Par davelop dans le forum ASP
    Réponses: 1
    Dernier message: 13/09/2006, 12h15
  5. Requete avec chaine de caractère commence par
    Par jazzes_dean dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/08/2004, 13h07

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