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 16/10/2006, 18h33   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 1
Points : 1
Par défaut VBA Word mise en forme de paragraphes

Bonjour,

J'ai un document d'env. 100 pages à mettre en forme. Pour le gros du travail, je me suis débrouillée avec des macros. Où je tombe sur un os c'est pour le formattage de paragraphes bien précis. J'ai des paragraphes qui se terminent pas une balise !tit! (pour titre), et d'autres par !des! (pour description). Tous les paragraphes terminés par !tit! doivent être en gras, et tous les paragraphes terminés par !des! seront mis en forme avec des tabulations.

J'ai bien essayé avec les caractères génériques de Rechercher/Remplacer, mais sans succès. Ensuite, j'ai cherché des exemples de codes en VBA mais bon, je ne maîtrise pas du tout. J'ai bien un bout de code que j'ai piqué sur ce site je crois et que j'ai essayé de faire correspondre. Est-ce que je suis sur la bonne voie ou pas du tout ?


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub MEFParag()
 
Dim Paragraphe As Paragraph
Dim caract As String
Dim testChaine As String
 
On Error Resume Next
With ActiveDocument.Paragraphs
For Each Paragraphe In ActiveDocument.Paragraphs
    caract = Right(Paragraphe, 4)
    testChaine = caract
      If caract = testChaine Then
            With selection.Characters
            selection.Font.Bold = wdToggle
            selection.Font.Size = 14
            selection.Font.Name = "Times New Roman"
            End With
      Else
      End If
Next
End With
End Sub
Merci beaucoup si vous pouvez m'aider.
millia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 18h43   #2
Expert Confirmé Sénior

 
Avatar de bidou
 
Inscription : mai 2002
Messages : 3 052
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : mai 2002
Messages : 3 052
Points : 4 101
Points : 4 101
plutôt

Code :
1
2
3
4
5
6
7
8
9
10
11
Dim Par As Paragraph
 
For Each Par In ActiveDocument.Paragraphs
    If StrComp(Right(Par.Range.Text, 6), "!tit!" & vbCr, vbTextCompare) = 0 Then
        With Par.Range
            .Font.Bold = wdToggle
            .Font.Size = 14
            .Font.Name = "Times New Roman"
        End With
      End If
Next
par ailleurs
Code :
1
2
testChaine = caract
      If caract = testChaine Then
sera toujours vrai
__________________
Tutoriels VB
Cours
bidou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2006, 20h39   #3
Invité de passage
 
Inscription : octobre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 2
Points : 1
Points : 1
Merci, merci, merci !!! ça marche parfaitement !

Ah, oui, j'ai compris votre dernière remarque, je ne suis pas très logique .....
millia 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 17h32.


 
 
 
 
Partenaires

Hébergement Web