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

VBA Word Discussion :

Supprimer toutes les lignes d'un documents qui finissent pas non [Toutes versions]


Sujet :

VBA Word

  1. #1
    Candidat au Club
    Homme Profil pro
    infirmier
    Inscrit en
    Novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : infirmier
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Supprimer toutes les lignes d'un documents qui finissent pas non
    Bonjour,
    Je débute en macro, je suis infirmier sur un projet de recherche et je recherche de l'aide pour une opération qui me paraissait simple, mais qui ,pour moi, est un casse tête.
    J'ai une application métier qui me produit un document word, assez long.... Avec une successions d'informations se terminant par ": oui" ou ": non", j'aimerais pouvoir bénéficier d'une macro qui me supprimerais toutes les lignes (paragraphes) qui se terminent par non... Est-ce possible à votre avis?
    Supprimer les ": non", c'est facile, mais supprimer tout ce qui précède je n'y arrive pas... help
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nenex27 Voir le message
    Bonjour,

    Avez-vous un fichier exemple sans données confidentielles ?

  3. #3
    Candidat au Club
    Homme Profil pro
    infirmier
    Inscrit en
    Novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : infirmier
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Bonjour,

    Avez-vous un fichier exemple sans données confidentielles ?
    version d'essai.doc

    Il n'y a aucune donnée confidentielle puisque c'est le rendu (sans les entetes) d'un patient fictif. Merci beaucoup. Certaines versions, lorsque le questionnaire est plus complet, peut inscrire jusqu'a 100 lignes qui se terminent par "non"

    Je vous remercie beaucoup de vous pencher sur le sujet

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nenex27 Voir le message
    A tester. Avant de supprimer, regardez ce que vous récupérez dans la fenêtre exécution (Ctrl-G), les lignes qui doivent disparaître dans le document apparaissent sur fond jaune.
    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
     
    Option Explicit
     
    Sub SuppressionDesParagraphesNon()
     
    Dim DocEnCours As Document
    Dim I As Long
    Dim Position As Integer
     
        Set DocEnCours = ActiveDocument
        With DocEnCours
     
             For I = .Paragraphs.Count To 1 Step -1
     
                 With .Paragraphs(I)
                      .Range.Select
                      Position = InStr(1, LCase(Selection.Range.Text), "non", vbTextCompare)
                      If Position > 0 Then
                         Debug.Print "Paragraphe : " & I & ", position " & Position & ", longueur : " & Len(Selection.Range.Text) & ", texte : " & Selection.Range.Text
     
                         If Len(Selection.Range.Text) - Position = 3 Then
                            .Range.HighlightColorIndex = wdYellow  ' Pour contrôle, si OK neutraliser la ligne avec ' en tête de ligne
                            '.Range.Delete   ' Si ok, enlever l'apostrophe en tête de ligne.
                         End If
     
                      End If
                 End With
     
             Next I
     
        End With
     
        Set DocEnCours = Nothing
     
    End Sub

  5. #5
    Candidat au Club
    Homme Profil pro
    infirmier
    Inscrit en
    Novembre 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : infirmier
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Je vous remercie infiniement, c'est top !!! Ca marche parfaitement ! Vous êtes un chef !




    Citation Envoyé par Eric KERGRESSE Voir le message
    A tester. Avant de supprimer, regardez ce que vous récupérez dans la fenêtre exécution (Ctrl-G), les lignes qui doivent disparaître dans le document apparaissent sur fond jaune.
    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
     
    Option Explicit
     
    Sub SuppressionDesParagraphesNon()
     
    Dim DocEnCours As Document
    Dim I As Long
    Dim Position As Integer
     
        Set DocEnCours = ActiveDocument
        With DocEnCours
     
             For I = .Paragraphs.Count To 1 Step -1
     
                 With .Paragraphs(I)
                      .Range.Select
                      Position = InStr(1, LCase(Selection.Range.Text), "non", vbTextCompare)
                      If Position > 0 Then
                         Debug.Print "Paragraphe : " & I & ", position " & Position & ", longueur : " & Len(Selection.Range.Text) & ", texte : " & Selection.Range.Text
     
                         If Len(Selection.Range.Text) - Position = 3 Then
                            .Range.HighlightColorIndex = wdYellow  ' Pour contrôle, si OK neutraliser la ligne avec ' en tête de ligne
                            '.Range.Delete   ' Si ok, enlever l'apostrophe en tête de ligne.
                         End If
     
                      End If
                 End With
     
             Next I
     
        End With
     
        Set DocEnCours = Nothing
     
    End Sub

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/08/2017, 13h58
  2. Réponses: 1
    Dernier message: 30/09/2010, 10h34
  3. supprimer toutes les lignes d'un flexgrid sauf la ligne de titre
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 11/08/2006, 10h39
  4. [VB 2005] Supprimer toutes les lignes d'un DataGridView
    Par Bob Langlade dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/01/2006, 16h03
  5. Supprimer toutes les lignes et colonnes d'un tableau
    Par pekka77 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/12/2005, 11h26

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