Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 10h51   #1
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Par défaut Supprimer les lignes commencant par

Bonjour,

Je cherche un code me permettant de supprimer les lignes de mon document commencant par "-" et directement suivi d'un retour chariot.

Quelqu'un aurait il ça ?

ou quelqu'un pourrait il m'aider à l'intégrer dans ce bout de code ?
Code :
1
2
3
4
5
6
7
8
9
10
    Selection.Find.Execute
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^13{2;}" ' rechercher partout 2 ou + retour chariots
        .Replacement.Text = "^p" ' remplacer par un retour chariot
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = True ' Usage des caractères génériques
    End With
Merci
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 18h56   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 333
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

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

Informations forums :
Inscription : février 2006
Messages : 17 333
Points : 29 239
Points : 29 239
Salut,

Dans ce bout de code et pas un autre ?
__________________
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 !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 19h18   #3
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Aucune importance.
Ca peut être dans un autre code.
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 20h57   #4
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Mettre
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub tiret()
 Selection.Find.Execute
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "-^p" ' rechercher partout "caractère -" + retour chariots
        .Replacement.Text = "^p" ' remplacer par un retour chariot
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = False ' Usage des caractères génériques
        .Execute Replace:=wdReplaceAll
    End With
End Sub
Si le tiret est une puce, c'est un peu différent, est-ce le cas?.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 21h51   #5
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Bonsoir,

Merci pour la réponse.
Je teste au boulot demain.

Petite question bonus :
Je voudrais appliquer un style "titre" aux paragraphes commencant par "CC" sachant que "CC" est directement (sans espace donc) suivi d'un caractère variable.
L'astérisque sert bien à définir n'importe quel caractère non ?
J'ai essayé "CC*" et ""CC" & "*"" mais ça ne fonctionne pas.

Merci.
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 22h16   #6
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour,

Voici un code à adapter pour tous les paragraphes
Code :
1
2
3
4
5
6
Sub testcc()
If Mid(ActiveDocument.Paragraphs(1).Range.Words(1).Text, 1, 2) = "CC" Then
ActiveDocument.Paragraphs(1).Format.OutlineLevel = wdOutlineLevel1
ActiveDocument.Paragraphs(1).Format.style= "Titre"
End If
End Sub
La fonction Mid permet d'extraire une sous chaîne dans une chaîne de caractères
La propriété OutlineLevel définit le niveau hiérarchique.
Attention, il ne modifie pas le style. Il faut utiliser la propriété style pour modifier le style et que le style existe.
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 01h39   #7
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut 8e8eClo,

carden752 t'a fourni un squelette basé sur la fonction rechercher/remplacer. C'est une des (bonnes) possibilités donc il faut continuer dans ce sens.

Citation:
Envoyé par carden752 Voir le message
Bonjour,

Mettre
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub tiret()
 Selection.Find.Execute
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "-^p" ' rechercher partout "caractère -" + retour chariots
        .Replacement.Text = "^p" ' remplacer par un retour chariot
        .Forward = True
        .Wrap = wdFindContinue
        .MatchWildcards = False ' Usage des caractères génériques
        .Execute Replace:=wdReplaceAll
    End With
End Sub
Si le tiret est une puce, c'est un peu différent, est-ce le cas?.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
Sub RemplaceAvecTitre
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    Selection.Find.Replacement.Style = ActiveDocument.Styles("Titre 1")
    With Selection.Find
        .Text = "<CC[! ]"
        .Replacement.Text = "^&"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = True
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub
@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 07h49   #8
Modérateur
 
Homme Christophe CHAPAT
Spécialiste progiciel
Inscription : février 2010
Messages : 984
Détails du profil
Informations personnelles :
Nom : Homme Christophe CHAPAT
Âge : 25
Localisation : France, Haute Loire (Auvergne)

Informations professionnelles :
Activité : Spécialiste progiciel
Secteur : Service public

Informations forums :
Inscription : février 2010
Messages : 984
Points : 1 597
Points : 1 597
Envoyer un message via MSN à carden752
Bonjour Jean-François,

Citation:
.Text = "<CC[! ]"
Cette ligne correspond à quoi comme recherche?
Les paragraphes commençant par CC ou les mots?
Est-ce que rechercher/remplacer est plus rapide que le parcours du premier mot de chaque paragraphe?
__________________
Cordialement,
Christophe

Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche
carden752 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 08h36   #9
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Bonjour,

Les deux codes fonctionnent.

@Sepia : il ne s'agit pas de puces.


Merci à vous deux.
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 10h17   #10
Nouveau Membre du Club
 
Inscription : juillet 2010
Messages : 236
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 236
Points : 36
Points : 36
Rebonjour,

Bon, problème.
Il m'affiche un message d'erreur 5692.
J'ai recherché un peu d'où pouvait venir l'erreur et je n'ai pas trouvé grand chose.
Au début je pensais que ça venait d'une erreur dans mon fichier alors j'ai testé dans un nouveau document. Mais j'ai toujours le message d'erreur.
Soit sur soit sur
Code :
Selection.Find.Execute Replace:=wdReplaceAll

Problème résolu.
J'avais zappé une ligne.

Merci
8e8eClo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2011, 22h43   #11
Rédacteur/Modérateur
 
Avatar de Sepia
 
Homme JF Jousseaume
Inscription : octobre 2007
Messages : 2 390
Détails du profil
Informations personnelles :
Nom : Homme JF Jousseaume
Âge : 48
Localisation : France

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 2 390
Points : 3 356
Points : 3 356
Salut Carden752,

Citation:
Envoyé par carden752 Voir le message
Citation:
.Text = "<CC[! ]"
Cette ligne correspond à quoi comme recherche?
Les paragraphes commençant par CC ou les mots?
Les mots dans ce cas car l'option "Utiliser les caractères génériques est cochées"
Citation:
Est-ce que rechercher/remplacer est plus rapide que le parcours du premier mot de chaque paragraphe?
Dans ce cas, oui, il y a un facteur 30 mais attention ce n'est pas toujours le cas et il y a plein de paramètres qui jouent sur l'affichage "UpdateScreen", le mode "Page", "Plan"...

@+
Sepia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h37.


 
 
 
 
Partenaires

Hébergement Web