Colorier une cellule qui contient un mot dans une phrase

cyoulyric

XLDnaute Nouveau
Bonjour le forum,

Suite à mon essai concluant sur le forum hier, je fais encore appel à vous pour m'aider s'il vous plaît.

J'ai un fichier avec plusieurs lignes de cellules.
La colonne A contient du texte. La B des dates.

Pour la colonne A parfois le texte contient les mots "cadets" ou "minimes" ou "benjamin".

J'aimerais que si l'un ou l'autre mot figure dans la cellule, celle-ci se colore d'une façon différente en fonction du mot.
Et si, possible, que la cellule d'à côté se colore aussi.

J'avais récupéré un code de ce style sur le forum mais je n'arrive pas à le faire fonctionner


Private Sub Worksheet_Change(ByVal zz As Range)

On Error Resume Next

If Intersect(zz, [A1:B20]) Is Nothing Then Exit Sub

Select Case zz
Case "": zz.Interior.ColorIndex = 0
Case "Benjamin": zz.Interior.ColorIndex = 3
Case "P": zz.Interior.ColorIndex = 4
Case "R": zz.Interior.ColorIndex = 6
Case "E": zz.Interior.ColorIndex = 5
Case "A": zz.Interior.ColorIndex = 15
Case "D": zz.Interior.ColorIndex = 40

Case Else: zz.Interior.ColorIndex = xlNone
End Select

End Sub


Je vous remercie par avance de vos nombreuses réponses je l'espère.

Lyric
 

geclaire

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Je suis loin d'être un spécialiste, mais avec la mise en forme automatique si tu as uniquement benjamins minimes et cadets cela devrait te suffire. Il suffit ce créer une mise en forme spécifique pour chaque mot

Format ---> mise en forme automatique....

Valeur cellule = benjamins ....mise en forme motifs bleu par exemple

puis ajouter ---> valeur cellule -= minimes .... motifs rouge etc etc

( tu peux mettre 3 mises en formes différentes. ).

Je pense que c'est la soluce la + simple.

Cordialement
 

JNP

XLDnaute Barbatruc
Re : Colorier une cellule qui contient un mot dans une phrase

Bonjour Cyoulyric :),
VBA compare avec exactitude, donc dans ton exemple "benjamin" est différent de "Benjamin"...
Plusieurs solutions :
1) Obliger la réponse avec une liste de validation
2) Utiliser UCase qui va passer le mot en majuscule
Code:
Select Case UCase(zz)
Case "": zz.Interior.ColorIndex = 0
Case "BENJAMIN": zz.Interior.ColorIndex = 3
3) Si benjamin fait partie d'un groupe de mot, il va falloir utiliser Like avec des If et des ElseIf, ce qui va être plus lourd...
Bonne journée :cool:
Ajout : Bonjour MasterDisco, Geclaire. Pour le Like, attention, le problème de la casse n'est pas prix en compte si il n'y a aps un Option Compare Text. Pour la MFC, effectivement, s'il n'y a que 3 cas ou si notre ami est en 2007, pas de problèmes.
 
Dernière édition:

geclaire

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Je rectifie...ce n'est pas mise en forme automatique mais :
mise en forme conditionnelle.

Si dans ta colonne tu as plusieurs mots autres que benjamins par exemple tu mets dans ta condition : valeur cellule superieur ou egal à " benjamins ".

Si tu n'as que le mot benjamins tu mets valeur cellule = " benjamins ".

EN espérant que cela puisse t'aider...
 

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Bonjour à tous,

Merci pour ces messages nombreux.

Je ne m'en aperçois que maintenant car j'étais plongé dans mon fichier à essayer autre chose.

J'essaie de suite vos solutions et je vous tiens au courant.

Merci encore

Lyric
 

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Bonjour à tous,

Merci pour vos réponses nombreuses et rapides.
Tellement rapides que je viens seulement de les voir (j'étais plongé dans mon fichier à essayer de le triturer, vous savez ce que c'est...)

J'essaie de ce pas vos solutions et vous tiens au courant dès que possible.

Merci encore

Lyric
 

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Après avoir testé la solution de Mastermicro, celle-ci me convient parfaitement car j'aurais environ 6 mots différents à chercher.

Le seul souci c'est que je souhaiterais que la couleur soit différente en fonction du mot.

En gros :
si il y "cadet" la case est bleue
si il y a "minime" la case est rouge... et ainsi de suite

Merci pour la remarque JNP car je ne comprenais pas pourquoi cela ne marchait pas au début, mais c'est parce que tous mes mots ont la 1ère lettre en majuscule. Le souci des majuscules n'en est plus un car ils auront tous le même format, donc pas besoin de formule avec if ou ifelse

Merci encore pour votre aide.

Lyric
 

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

En fouillant un peu la MFC (suite aux réponses pertinentes de geclaire et de JNP), j'ai trouvé un truc simple et efficace:
j'ai 2007, et il y a ajouter une MFC aux cellules qui contiennent. Là je choisis texte et je tape mon mot et choisis ma plage

Le seul souci c'est que je ne sais pas comment appliquer la mise en forme à la cellule à côté.

Je pense que la facilité de la réponse se trouve ici.

Merci de vos éclaircissement
 

geclaire

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Toujours avec la mise en forme conditionnelle :

Admettons que dans la case b5 tu es "Cadets" tu veux donc que la case c5 soit coloriée :
tu vas mettre en forme la case c5 avec la valeur suivante :
=CHERCHE("cadets";B5)>0 puis tu mets en forme avec une couleur

ensuite tu fais ajouter et tu remets en forme la case c5 avec la valeur suivante :
=cherche("minimes";b5)>0 et tu remets en forme avec une autre couleur

et enfin tu rajoutes ta 3eme valeur pour benjamins de la même façon
:)

a+
 

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Désolé Geclaire je me suis mal exprimé, je voudrais que les 2 Cellules soient coloriées, la A1 et la A2.
Même mieux si on peut colorier la ligne entière ça m'arrangerait aussi. mais là je pense que du VBA serait nécessaire non?

Par contre ma formule MFC me convient très bien pour la case choisie car elle est simple et efficace.

Lyric
 

JNP

XLDnaute Barbatruc
Re : Colorier une cellule qui contient un mot dans une phrase

Re :),
Pour les cellules contigues, il faut que tu passes par formule dans la MFC et que tu indiques $A1=$C$1 par exemple en ayant mis Benjamin en C1.
Je te joint un exemple.
Bon courage :cool:
 

Pièces jointes

  • Exemple MFC.xlsm
    9.2 KB · Affichages: 206
  • Exemple MFC.xlsm
    9.2 KB · Affichages: 213
  • Exemple MFC.xlsm
    9.2 KB · Affichages: 222

geclaire

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Mais oui c'est bien ce que j'avais compris ..
Dans ta cellule A1 tu mets en forme comme dit précedemment et dans la cellule A2 tu mets aussi en forme avec la fonction cherche et tu auras aisni tes 2 cases cote à cote coloriées....

Si tu veus que toute la ligne soit coloriée pour la mise en forme conditionnelle tu cliques sur l'entete de ligne et tu procèdes de la même façon si ce n'est que =CHERCHE("cadets";B5)>0 devient =cherche("cadets";$b$5)>0

:D
 

geclaire

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

Je te joins un exemple :

La ligne complète se colorie si tu tapes benjamins, cadets ou minimes

:cool:
 

Pièces jointes

  • Solution_couleurs_cellules.xls
    13.5 KB · Affichages: 213
  • Solution_couleurs_cellules.xls
    13.5 KB · Affichages: 214
  • Solution_couleurs_cellules.xls
    13.5 KB · Affichages: 230

cyoulyric

XLDnaute Nouveau
Re : Colorier une cellule qui contient un mot dans une phrase

C'est génial, merci.

Mais comment je fais pour appliquer ça à toute une colonne, que cette formule fonctionne pour la ligne, mais en recherchant dans toute la colonne.

Je ne sais pas si c'est possible avec cette formule??

Lyric
 

nolich

XLDnaute Occasionnel
Re : Colorier une cellule qui contient un mot dans une phrase

Bonjour lyric, masterdisco, geclaire et JNP, bonjour à tous et à toutes :)

C'est génial, merci.

Mais comment je fais pour appliquer ça à toute une colonne, que cette formule fonctionne pour la ligne, mais en recherchant dans toute la colonne.

Je ne sais pas si c'est possible avec cette formule??

Si, si, tu peux tout à fait le faire mais en modifiant à peine la formule.

1. tu sélectionnes tout ton tableau
2. tu vas dans Format / Mise en forme conditionnelle
3. si les données sont en colonne B, tu tiens compte de la cellule active (tu la vois à gauche de la barre de formule)
4. si les données à vérifier sont bien en colonne B, tu écris la formule ainsi :
=CHERCHE("cadets";$B6)
ça c'est dans le cas où la cellule active est en ligne 6, sinon, tu adaptes.

J'ai mis le s en rouge/gras car tu peux aussi mettre "cadet", la fonction le reconnaîtra.

@+
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 489
Messages
2 088 852
Membres
103 974
dernier inscrit
chmikha