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/06/2011, 22h07   #1
Invité de passage
 
Inscription : mars 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 9
Points : 0
Points : 0
Par défaut [VBA] Mise en forme avec Macro

Bonjour,

Je débute avec les macros et je cherche à mettre en forme une partie du texte.
Je souhaite que :
- le 1er mot du premier paragraphe soit en gras et rouge (est-ce aussi faisable pour un mot à une position précise dans un paragraphe)

- lorsqu'il y a un mot précis en début de phrase, la taille de police passe à 8 et qu'il y ait une bordure horizontale au dessus de cette ligne.

Merci par avance

B56
Brossard56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/06/2011, 23h11   #2
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 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Oui, cela est possible.

Par exemple, pour tous les paragraphes mettre en rouge et en gras le premier mot et le changer en premier.
Code :
1
2
3
4
5
6
7
8
9
10
Sub mise()
Dim a As Paragraph
For Each a In ActiveDocument.Paragraphs 'Parcourir tous les paragraphes
With a.Range.Words(1).FormattedText 'Formatter le premier mot de chaque paragraphe
.Bold = True 'Mettre en gras
.Font.Color = wdColorRed 'Mettre en rouge
.Text = "Premier " 'Ecrire premier
End With
Next
End Sub
Je vous laisse adapter cet exemple à votre besoin.
__________________
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 10
Vieux 17/06/2011, 11h21   #3
Invité de passage
 
Inscription : mars 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 9
Points : 0
Points : 0
Merci pour votre réponse.

Je viens de rajouter ce code au début de macro que j'avais déjà en place en l'adaptant un peu (couleur, taille de la police, ne pas mettre le mot "premier").
Par contre je n'arrive pas à l'adapter de manière à n'avoir que le 1er mot du premier paragraphe qui se modifie.
J'ai essayé d'enlever ce qui me paraissait être une boucle (texte en bleu dans le code) à l'intérieur des documents mais ça ne fonctionne pas

Code :
1
2
3
4
5
6
7
8
Dim a As Paragraph
For Each a In ActiveDocument.Paragraphs 'Parcourir tous les paragraphes
With a.Range.Words(1).FormattedText 'Formatter le premier mot de chaque paragraphe
.Bold = True 'Mettre en gras
.Font.Color = wdColorRed 'Mettre en rouge
.Font.Size = 18 'Mettre en 18
End With
Next
Je pense que c'est le a (en violet) qui doit "planter" mais je ne vois pas comment m'en sortir.
Brossard56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 14h37   #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 592
Points : 1 592
Envoyer un message via MSN à carden752
Bonjour,

Pour sélectionner le premier paragraphe
Code :
ActiveDocument.Paragraphs(1)
Essayez comme ceci :
Code :
1
2
3
4
5
6
 
With ActiveDocument.Paragraphs(1).Range.Words(1).FormattedText 'Formatter le premier mot de chaque paragraphe
.Bold = True 'Mettre en gras
.Font.Color = wdColorRed 'Mettre en rouge
.Font.Size = 18 'Mettre en 18
End With
__________________
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 20/06/2011, 15h20   #5
Invité de passage
 
Inscription : mars 2011
Messages : 9
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 9
Points : 0
Points : 0
Merci Carden752.

Je vais essayer de continuer cette petite macro
Brossard56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h21.


 
 
 
 
Partenaires

Hébergement Web