A voir également:
- [VB] Macro pour word
- Macro word - Guide
- Espace insécable word - Guide
- Supprimer une page word - Guide
- Organigramme word - Guide
- Vb - Télécharger - Langages
4 réponses
Prog44
Messages postés
17
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
24 septembre 2008
3
16 sept. 2008 à 20:55
16 sept. 2008 à 20:55
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
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
Prog44
Messages postés
17
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
24 septembre 2008
3
17 sept. 2008 à 19:28
17 sept. 2008 à 19:28
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 ?
-------------
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 ?
Prog44
Messages postés
17
Date d'inscription
jeudi 31 juillet 2008
Statut
Membre
Dernière intervention
24 septembre 2008
3
18 sept. 2008 à 13:15
18 sept. 2008 à 13:15
tu as pris quelle solution finalement ?
17 sept. 2008 à 09:52
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?