Teste si une ligne est vide: ds un fichier Word

Teste si une ligne est vide: ds un fichier Word - VB/VBA/VBS - Programmation

Marsh Posté le 08-11-2006 à 11:32:14    

Bonjour!
Alors voilà j'ai converti un très grand nombre de fichier PDF en RTF et j'ai choisi de supprimer les images. Le résultat est presque parfait...en effet, il y a un très grand nombre d'espaces vides!
Aussi, je voudrais créer une macro qui permet de supprimer ces espaces: genre on teste si une ligne est vide si oui on teste la suivante etc...
Vous auriez une idée de ce que je dois utiliser comme fonction pour ces tests?
D'avance, merci!

Reply

Marsh Posté le 08-11-2006 à 11:32:14   

Reply

Marsh Posté le 08-11-2006 à 16:11:37    

Bonsoir,
valable si une marque de paragraphe est en fin de chaque ligne
 
Sub lignenulle1()
For Each pr In ActiveDocument.Paragraphs
pr.Range.Select
If Selection.Characters.Count = 1 Then Beep
Next pr
 
End Sub
 
Cordialement

Reply

Marsh Posté le 08-11-2006 à 16:23:12    

Bonsoir et merci ms ce n'est pas le cas....J'ai juste un fichier avec des phrases et des gros vides par moment...

Reply

Marsh Posté le 08-11-2006 à 17:51:23    

Bonsoir,
???
ne peux-tu pas envoyer un extrait dans un .DOC?
 
ou simplement, supprimer les espaces en trop?
 
pour ne conserver qu'un espace entre les mots:
surligner tout
 
dans la fenêtre remplacer
 
première case mettre un espace puis {2;}  
deuxième case mettre un espace
 
 
Cordialement


Message édité par seniorpapou le 08-11-2006 à 18:29:14
Reply

Marsh Posté le 08-11-2006 à 19:14:39    

A tester pour améliorations éventuelles


Option Explicit
 
Public Sub SupprimerLignesVides()
 
    ActiveDocument.Select
     
    With Selection.Find
        .ClearFormatting
        .Replacement.ClearFormatting
        .Execute FindText:="^p^p"
    End With
     
    If Selection.Find.Found = False Then Exit Sub
 
    While Selection.Find.Found = True
        With Selection.Find
            .Replacement.Text = "^p"
            .Execute Replace:=wdReplaceAll
        End With
    Wend
 
End Sub


Message édité par kiki29 le 09-11-2006 à 10:27:29
Reply

Marsh Posté le 10-11-2006 à 08:31:57    

Salut,
 
dans le meme esprit est ce qu'il est possible de rechercher des pages entières vides dans un document et de les suprimer????
 
merci d'avance...

Reply

Marsh Posté le 10-11-2006 à 09:15:18    

Bonjour
 
Voici une macro qui supprime les retours multiples ainsi que les sauts de page
 
Sub Macro2()
Selection.HomeKey unit:=wdStory
' supprime les retours en trop
With Selection.find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "^013{2;}"
    .MatchWildcards = True
    .Replacement.Text = "^p"
    .Execute Replace:=wdReplaceAll
End With
' supprime les codes saut de page
With Selection.find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "^012"
    .MatchWildcards = False
    .Replacement.Text = ""
    .Execute Replace:=wdReplaceAll
End With
 
End Sub
 
Bon courrage

Reply

Marsh Posté le 10-11-2006 à 15:27:09    

Merci beaucoup!!!Les 2 solutions marchent nickel!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed