VBA pour mettre une case de tableau en couleur

Vanessa65 -  
m@rina Messages postés 23933 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je réalise un publipostage d'environ 500 étiquettes, avec nom, prénom et métier.
Il y a 3 métiers, médecin, psychologue et pharmacien.
J'aimerais que selon le métier, la couleur soit différente.
Je sais que ce n'est pas possible avec le publipostage (A moins que quelqu'un ait une astuce?).
Du coup j'ai essayé de créer un programme avec VBA pour appliquer la condition après avoir fait mes étiquettes, mais j'ai beaucoup de mal avec le code...

Quelqu'un pour m'aider?? Je bloque complètement.

Merci d'avance !!!!!!
Keep cool


A voir également:

1 réponse

m@rina Messages postés 23933 Date d'inscription   Statut Contributeur Dernière intervention   11 465
 
Bonsoir,

Le plus simple est probablement de faire le publipostage en trois fois, une fois par métier, en utilisant le filtrage.

Si tu tiens à la macro, voici :

Sub couleurs()
'macro écrite par m@rina
Dim cellule As Cell, ligne As Row, métier
For Each ligne In ActiveDocument.Tables(1).Rows
For Each cellule In ligne.Cells

With cellule.Shading
Select Case métier
Case métier = InStr(1, cellule.Range.Text, "Médecin")
.BackgroundPatternColor = wdColorBrightGreen
Case métier = InStr(1, cellule.Range.Text, "Psychologue")
.BackgroundPatternColor = wdColorLightYellow
Case métier = InStr(1, cellule.Range.Text, "Pharmacien")
.BackgroundPatternColor = wdColorAqua
End Select
End With
Next
Next ligne
End Sub


Je te laisse mettre tes propres couleurs...
Attention, c'est sensible à la casse.

m@rina
Méfiez-vous de la tisane : c'est un poison dangereux...
0