Colonne selection couleurs en fonction des mots

bonjour

je voudrais créer une macro qui me permet suivant le mot d'avoir une couleur dans la cellule

exemple: j'ai 4 couleurs( bleu-rouge-vert-jaune), et environ une 50 de mots par couleurs d’où une macro dans laquel je peux ajouter des mots en fonction de la couleur.

tous dans la même colonne,

si je marque (châtelet) la cellule passe en bleu etc. le but est de diviser paris en 4 zones de couleurs différente et d'affecter les stations en fonctions des zones couleurs.

merci de votre aide

Salut,

De retour depuis hier soir dans mes alpages suisses après 4 jours à Paris, je retrouve le temps de venir sur le Forum. Je trouve alors que ton sujet me parle bien Mon Dieu ce qu’il faut marcher à la station Châtelet !

Avec un fichier modèle, ce serait plus facile de voir où tu veux en venir.

A te relire.

ok

je te mets un exemple. charge a moi de trier les stations pour chaque couleurs...

cordialement.

19eric89v1.zip (15.26 Ko)

Bonjour à toi aussi et surtout merci à toi aussi de m’avoir répondu

En Suisse, si tu fais une semi-plaisanterie et que ton interlocuteur fait comme si tu n’avais rien dit, on appelle ça ‘se chopper un vent’ !!!

Evite les colonnes et les lignes vides inutiles. Dans le fichier ci-joint, sur ta feuille ‘Stations’, je les ai effacées.

Afin qu’Excel sache dans quelle zone se trouve telle ou telle station, il faut bien que tu le lui indiques. Sur ta feuille ‘Stations’ je te montre un exemple de répartition par zone (colonne B).

Sur ta Feuil1, j’ai placé 4 mises en forme conditionnelles afin de colorier les cellules en fonction des noms que tu y inscrits.

Attention : l’orthographe doit être exacte. Le nom Champs-Élysées–Clemenceau n’est pas trouvé car il n’est pas écrit exactement de la même manière des deux côtés.

Amicalement.

22eric89-v2.zip (17.43 Ko)

désolé Yvouille pour mon manque de tact petits souci

quel manque de politesse de ma part, gros bonsoir a toi..

merci pour ta réponse je fait le point et te tiens au courant

bonne soirée

eric

bonjour Yvouille

j’ai ouvert le fichier mais pas de couleur ni de MFC,

cordialement

Re-bonjour,

Je viens de découvrir un truc tout à fait inexplicable que je n’avais encore jamais vu ; mes mises en forme conditionnelles – qui fonctionnent parfaitement – sont effacées lorsque le fichier est refermé Est-ce parce que ma formule fait référence à une autre feuille ?????

Essaie alors d’inscrire toi-même les 4 formules nécessaires, d’enregistrer ton fichier, de le refermer et de le rouvrir. Voici la première formule (à inscrire après avoir sélectionné la plage H6:H138 de ta Feuil1) :

=RECHERCHEV(H6;Stations!$A$2:$B$506;2;FAUX)=1
capture 26 04 01

Et voici à quoi ça doit ressembler lorsque tu as inscrit les 4 MFC

capture 26 04 02

Avec le résultat final

capture 26 04 03

Si ça ne fonctionne pas ainsi, je vais chercher une solution par macro.

A te relire.

re Yvouille

j'ai fais la même manip que toi, cela fonctionne mais une fois enregistré et fermer, une fois ouvert il n'y a plus de formule.

bizarre

eric

Alors voici une version avec macro. Afin que ça fonctionne chez toi, tu dois avoir les macros enclenchées.

J’ai placé des listes de validation sur la plage H6:H138 de ta Feuil1. Si tu trouves cela gênant, on peut à nouveau les enlever. L’avantage serait – en les gardant – que tu ne peux pas écrire un nom d’une manière incorrecte.

Ensuite j’ai travaillé avec des couleurs ‘ColorIndex’ et j’ai cherché rapidement des couleurs correspondant plus ou moins à ton souhait. Si celles-ci ne te conviennent pas, on peut affiner la chose.

A te relire

EDIT : Si ça t'interesse, tu peux suivre le fil suivant https://forum.excel-pratique.com/excel/mfc-pourquoi-ca-ne-fonctionne-pas-a-tous-les-coups-t50727.html

15eric89-v4.zip (24.07 Ko)

Merci Yvouille

j'ai suivi les interventions de l'autre post je travail sur excel 2002.

impeccable je vais voir avec les 2 façons et je tiens a vous remercier tous

bon courage et bonne journée

Eric

re Yvouille

décidément je bloque

je te poste mon fichier avec la solutions de frangy mais impossible de la faire fonctionner, je dois passer a coté.

cordialement

Re,

Je pense que la solution par macros est la meilleure ; j’aurais trouvé sympa que tu me dises en deux mots ce que tu en penses

Pour les solutions apportées sur l’autre fil - sur la base de mes formules - tu dois être très précis.

A) Lorsque tu nommes ta plage ‘Station’, tu dois comprendre les colonnes A et B !!!! (donc =Stations!$A$2:$B$506)

capture 1

B) Si tu nommes ta plage ‘Station’, tu dois utiliser ce nom dans ta formule de MFC à la place de 'Tablo'.

capture 2

C) Et tu dois bien entendu compléter la colonne B de ta feuille 'Stations'.

A te relire.

ok juste pour comprendre le pourquoi cela ne fonctionne pas, j'ai deja installer la macro qui me parait la meilleur solution

merci pour ton travail Yvouille

je te remercie

bonne journée

petit retour avec la macro

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Réf_Zone As Integer

If Target.Count > 1 Then Exit Sub

With Sheets("Stations")

If Not Application.Intersect(Target, Range("H6:H138")) Is Nothing Then

Réf_Zone = .Range("B" & Application.WorksheetFunction.Match(Target, .Range("A:A"), 0))

If Réf_Zone = 1 Then

Target.Interior.ColorIndex = 37

Else

If Réf_Zone = 2 Then

Target.Interior.ColorIndex = 6

Else

If Réf_Zone = 3 Then

Target.Interior.ColorIndex = 43

Else

Target.Interior.ColorIndex = 3

End If

End If

End If

End If

End With

End Sub

erreur a la ligne

Réf_Zone = .Range("B" & Application.WorksheetFunction.Match(Target, .Range("A:A"), 0))

quand je supprime la station la couleur reste est il possible d'avoir la cellule en blanc si vide

a part ce souci la macro me convient Yvouille

cordialement

Désolé, je n'avais pas prévu ce cas de figure

Voici une possibilité de correction :

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Réf_Zone As Integer

If Target.Count > 1 Then Exit Sub

With Sheets("Stations")
    If Not Application.Intersect(Target, Range("H6:H138")) Is Nothing Then
        If Target = "" Then
            Target.Interior.Pattern = xlNone
            GoTo Etiquette
        Else
            Réf_Zone = .Range("B" & Application.WorksheetFunction.Match(Target, .Range("A:A"), 0))

            If Réf_Zone = 1 Then
                Target.Interior.ColorIndex = 37
            Else
            If Réf_Zone = 2 Then
                Target.Interior.ColorIndex = 6
            Else
            If Réf_Zone = 3 Then
                Target.Interior.ColorIndex = 43
            Else
                Target.Interior.ColorIndex = 3
            End If
            End If
            End If
        End If
    End If
End With

Etiquette:

End Sub

Amicalement.

10eric89-v5.zip (24.24 Ko)

merci Yvouille

ça fonctionne sauf quand je sélectionne plusieurs cellule a supprimer les couleurs restent.

je dois les sup. 1 par 1

cordialement

Re,

Alors essaie ça

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Réf_Zone As Integer, Cellule As Range

If Target.Count > 1 Then
    For Each Cellule In Selection
        If Cellule = "" Then
        Cellule.Interior.Pattern = xlNone
        End If
    Next
    Exit Sub
End If

With Sheets("Stations")
    If Not Application.Intersect(Target, Range("H6:H138")) Is Nothing Then
        If Target = "" Then
            Target.Interior.Pattern = xlNone
            GoTo Etiquette
        Else
            Réf_Zone = .Range("B" & Application.WorksheetFunction.Match(Target, .Range("A:A"), 0))

            If Réf_Zone = 1 Then
                Target.Interior.ColorIndex = 37
            Else
            If Réf_Zone = 2 Then
                Target.Interior.ColorIndex = 6
            Else
            If Réf_Zone = 3 Then
                Target.Interior.ColorIndex = 43
            Else
                Target.Interior.ColorIndex = 3
            End If
            End If
            End If
        End If
    End If
End With

Etiquette:

End Sub
16eric89-v6.zip (24.59 Ko)

encore merci Yvouille

cela fonctionne impeccable je vais pouvoir gérer les stations par zone

un grand merci

cordialement

bonne soirée

bonjour a tous salut Yvouille

j'utilise la macro et je rencontre un problème, des que j' écrit dans une cellule la macro bug?

est il possible de pouvoir écrire dans la cellule sans erreur même si la couleur n'apparait pas du fait que le mot est différent, cela me permet de pouvoir adapter et modifier si besoin l’appellation des mes stations.

merci a toi

cordialement eric

Bonjour,

Comme je passais par là, je me suis invité à votre discussion .

Si la fonction MATCH ne parvient pas à trouver dans la liste une valeur correspondant à la valeur saisie, elle renvoie la valeur d'erreur #N/A.

Il suffit donc de placer un test pour s’assurer de la présence de la valeur dans la liste avant d’effectuer le traitement de mise en couleur.

17eric89-v6.zip (24.52 Ko)

A+

Rechercher des sujets similaires à "colonne selection couleurs fonction mots"