bonjour Yannick, je ne sais pas si tu pourrais utiliser les expressions régulière en vba, si oui par exemple tu écrirais replace(le text,"^\n") comme ca j'ai fait en edSharp c'est plus facile.
De : Yannick Youalé Date : jeudi 24 janvier 2013 17:23 À : [email protected] Objet : [progliste] Code VBA de suppression de lignes superflux dans microsoft word Salut à tous ! Un petit cadeau que je vous offre et qui m'est bien utile c'est derniers temps. Cela vous est probablement déja arrivé de faire pas mal de modification, pas mal de couper coller dans un document. Et ensuite de vous farcir la tache très chiante de relire le document ligne par ligne afin de supprimer d'éventuelles lignes superflux qui se seraient glissées entre les écritures. Voici une solution qui permet de limiter les dégats. C'est un code VBA de suppression de lignes superflux dans un document word. Début du code VBA Public Sub RemoveMultipleBlankLines() ' supprime les paragraphes vides multiples. ' autrement dit, les paragraphes vides qui se suivent. Dim l As Long Dim i As Integer Dim j As Long i = 0 For l = ActiveDocument.Paragraphs.Count To 1 Step -1 If Len(ActiveDocument.Paragraphs(l).Range.Text) < 2 Then i = i + 1 'incrémentation nombre de ligne vide j = j + 1 If i >= 2 Then ActiveDocument.Paragraphs(l).Range.Delete i = i - 1 j = j + 1 End If Else i = 0 End If Next l MsgBox j & " lignes vides superflux supprimées." End Sub Fin du code VBA A l'avenir, j'aimerais bien développer un tel code pour qu'il puisse par exemple: * automatiquement faire une ligne vide entre les styles de titres et le texte normal. * renvoyer automatiquement un titre sur la page suivante quand il est jugé trop proche du bas de page. Puisse cela vous servir ou vous inspirer. A plus ! Yannick Daniel Youalé
