Bonsoir à toutes et à tous,
dans une macro, je ne parviens pas à trouver comment s'y prendre pour supprimer toutes les lignes vides d'un document Word.
Je vous remercie d'avance de votre aide.
Bonne soirée !
Bonsoir à toutes et à tous,
dans une macro, je ne parviens pas à trouver comment s'y prendre pour supprimer toutes les lignes vides d'un document Word.
Je vous remercie d'avance de votre aide.
Bonne soirée !
Bonjour
Voici un code qui supprime les lignes vides, sur un document de 200 lignes à l'origine (nblignes ). La suppression s'effectue de la fin au début du document.
Pas de gestion d'erreurs, ni de test de fin de document, car je suis débutant en Word. Pas de souci à avoir, le code fonctionne!
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 Dim nblignes As Integer Sub Supprime_lignes_vides() Selection.EndKey Unit:=wdStory For nblignes = 1 To 200 Selection.HomeKey Unit:=wdLine Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend If Selection = Chr(13) Then Selection.Delete Unit:=wdCharacter, Count:=1 Else Selection.MoveUp Unit:=wdLine, Count:=1 End If Next nblignes End Sub
Je te remercie, Lexot2, ça fonctionne.
Bonne journée à toi !
Bonjour,
ton problèle de ligne vides reviens à supprimer les retour-chariots inutiles dans tout ton document.
Tu peux utiliser les caractères génériques pour ça afin de faire la manip sans tenir compte du nombre de ligne de ton document.
Fais un "rechercher - remplacer" simple en cochant la case "utiliser les caractères génériques"...
Dans la zone "rechercher", tape la commande suivante :
"^13{2;}"
(^13 est le code à employer pour le retour chariot lorsque tu utilise les caractères génériques, le {2;} signifie "2 ou plus"...
Dans la zone remplacer, tape
"^p"
^p est le code à employer pour le retour chariot lorsque tu n'utilise pas les caractères génériques.
Cette commande va donc remplacer toutes les suites de "deux ou plus" retour chariot par un seul. Résultat, toutes tes lignes vides disparraissent...
Une macro pour faire ça de manière répétitive ?
Et voila !
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 Sub LignesVides() ' Pour supprimer toutes les lignes vides d'un document Word 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 Selection.Find.Execute Replace:=wdReplaceAll End Sub
Merci kitcreanet.
Ça paraît si simple une fois que c'est dit... C'est ça l'élégance ! hihi
Bonne fin de journée à toi !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager