Posez votre question Signaler

[VB] Macro pour word

ancelot - Dernière réponse le 18 oct. 2008 à 12:09
Bonjour,
J'espère qu'un VB Master passera par là. Je suis très novice sur VB et devrais créer une macro Word qui recherche un et colore toutes les occurences de ce mot en rouge.
(dans le texte: "Un pigeon picore le blé dont l'autre pigeon ne veut pas", la macro colorera 'pigeon' en rouge).
Merci beaucoup pour votre aide
Lire la suite 

[VB] Macro pour word »

6 réponses
Réponse
+0
moins plus
Voici une solution :

Sub colorie_pigeon()
Dim i, pos1, pos2 As Integer
Dim vrange As Range

With ActiveDocument
For i = 0 To .Characters.Count - 1
If i < .Characters.Count Then pos1 = i
If pos1 + 6 <= .Characters.Count Then
pos2 = pos1 + 6
Else
pos2 = pos1
End If
Set vrange = ActiveDocument.Range(pos1, pos2)

If vrange.Text = "Pigeon" Or vrange.Text = "pigeon" Then
vrange.Font.Color = wdColorRed
End If
Next i
End With


End Sub
ancelot - 17 sept. 2008 à 09:52
Merci Prog44 pour ta réponse.

Ta solution marche mais me pose problème car je devrai faire ça pour plus d'une centaine de mots.

J'ai refléchi au faite à une solution mais j'arrive pas à la coucher en code:

Avec la fonction recherche de word, chercher le mot (La fonction selectionne automatiquement e mot lorsqu'elle le trouve. Avec cette sélection, appliquer arrière pan rouge. Suivant.

Tu penses que c faisable?
Ajouter un commentaire
Réponse
+0
moins plus
contexte 1 : tu connais d'avance la liste des mots à rechercher, tu peux les implanter dans un tableau de type string :
-------------
dim mots(100) as string

'affectation des mots
mots(1)="pigeon"
mots(2)="voiture"
...
mots(100)="trottoir"


for i=1 to 100

' là, tu mets le code que l'on a vu dans le programme précédent
' le texte sera balayé pour chacun des mots du tableau
next i

contexte 2 : tu ne connais pas les mots à l'avance, c'est l'utilisateur qui les saisit --> Il faut te servir d'un formulaire dans lequel une zone de texte permettra à l'utilisateur de saisir le mot ou la liste de mots séparés d'une virgule.

quand l'utilisateur clique sur le bouton <valider>, tu lances le programme vu précédemment.

Ca te va ?
ancelot - 18 sept. 2008 à 00:42
ça maaarchhee!!!! Merci beaucoup pour ton aide et ta réactivité!!!
Ajouter un commentaire
Réponse
+0
moins plus
J'ai essayé mais cela ne marche pas : pouvez-vous me détailler, ligne par les lignes, le code utilisé ?

Merci d'avance
Ajouter un commentaire
Réponse
-1
moins plus
tu as pris quelle solution finalement ?
Ajouter un commentaire
Ce document intitulé « [VB] Macro pour word » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook