Couleur

1exemple.xlsx (10.27 Ko)

Bonjour,

J’aurai besoin d'aide car je suis sure de ne pas y arriver toute seule.

Dans mon exemple : quand je rentre un chiffre dans la colonne M (ici le 0 pour exemple) j'aimerais que les cellules b5-c12-h11 se colore en jaune. Il en serait de même pour les autres chiffres.

J'espère qu'avec l’exemple du zéro j'arriverai à me débrouiller seule.

D'avance je remercie mon sauveur

Bonjour,

En VBA, à mettre dans le module de la feuille (Alt+F11, double cliquer sur "Feuil1(Feuil1) et coller dans la zone de texte qui vient d'apparaître à droite) :

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Count > 1 Then Exit Sub
    If Intersect(Target, Range("B5:K12")) Is Nothing Then Exit Sub

    Select Case Target.Value

        Case 0: Target.Interior.ColorIndex = 27 'jaune
        Case 1: Target.Interior.ColorIndex = 3 'rouge
        Case 2: Target.Interior.ColorIndex = 5 'bleu
        Case 3: Target.Interior.ColorIndex = 10 'vert foncé
        Case 4: Target.Interior.ColorIndex = 7 'rose
        Case 5: Target.Interior.ColorIndex = 16 'gris
        Case 6: Target.Interior.ColorIndex = 4 'vert clair
        Case 7: Target.Interior.ColorIndex = 46 'orange
        Case 8: Target.Interior.ColorIndex = 28 'bleu clair
        Case 9: Target.Interior.ColorIndex = 30 'brun
        Case 10: Target.Interior.ColorIndex = 36 'jaune clair
        Case 11: Target.Interior.ColorIndex = 17 'mauve
        Case 12: Target.Interior.ColorIndex = 38 'rose clair

    End Select

End Sub
3exemple1.xlsm (17.11 Ko)

Bonjour,

Tout d'abord un grand merci pour votre réponse.

J'ai fait toute les manipulations comme indiqué, mais rien ne se passe.

Je vous ai joint un nouveau fichier avec vos ajouts.

A bientôt.

Désolé, j'avais mal compris la demande

Code à mettre dans le module de la feuille en remplacement du précédant :

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Plage As Range
    Dim Cel As Range
    Dim Adr As String

    If Target.Count > 1 Then Exit Sub
    If Target.Column <> 13 Then Exit Sub

    Set Plage = Range("B5:K12")

    Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)

    If Not Cel Is Nothing Then

        Adr = Cel.Address

        Do

            Select Case Target.Value

                Case 0: Cel.Interior.ColorIndex = 27 'jaune
                Case 1: Cel.Interior.ColorIndex = 3 'rouge
                Case 2: Cel.Interior.ColorIndex = 5 'bleu
                Case 3: Cel.Interior.ColorIndex = 10 'vert foncé
                Case 4: Cel.Interior.ColorIndex = 7 'rose
                Case 5: Cel.Interior.ColorIndex = 16 'gris
                Case 6: Cel.Interior.ColorIndex = 4 'vert clair
                Case 7: Cel.Interior.ColorIndex = 46 'orange
                Case 8: Cel.Interior.ColorIndex = 28 'bleu clair
                Case 9: Cel.Interior.ColorIndex = 30 'brun
                Case 10: Cel.Interior.ColorIndex = 36 'jaune clair
                Case 11: Cel.Interior.ColorIndex = 17 'mauve
                Case 12: Cel.Interior.ColorIndex = 38 'rose clair
                'Case etc...: Cel.Interior.ColorIndex = numéro de couleur voulu !

            End Select

            Set Cel = Plage.FindNext(Cel)

        Loop While Cel.Address <> Adr

    End If

End Sub

Super merci beaucoup.

J'ai juste fait une modif car je ne voulais que du jaune dans un premier temps.

J'ai fait tous les chiffres.

3exemple2.xlsm (21.46 Ko)

et

Rajout d'un bouton RESET

Si j'ose, j'aimerais pouvoir changer de couleur plusieurs fois peut-être avec un bouton +macro.

Si vous pouviez me montrer pour le premier cela me permettrai de faire le reste.

Avec tout mon respect et tout mes remerciements.

Je te retourne ton classeur avec un bouton pour le choix de la couleur :

5exemple-v3.xlsm (20.47 Ko)

Merci, mille fois merci !!!

Content de t'avoir aidé

Rechercher des sujets similaires à "couleur"