VBA pour mettre une case de tableau en couleur
Vanessa65
-
m@rina Messages postés 23933 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- VBA pour mettre une case de tableau en couleur
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Imprimer tableau excel sur une page - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
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 :
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...
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...