Coloration automatique de cellules par macro

Webperegrino

XLDnaute Impliqué
Supporter XLD
Bonsoir,
J'ai réussi à composer une macro afin de colorier des cellules en feuille 'Phase2'.
Mais il me faut à chaque fois sélectionner chaque cellule pour en obtenir la couleur correspondante !
Comme ce triangle donne des codes suite à un cheminement de calculs - nouveau calcul --> nouveaux codes affichés -, j'aimerais qu'à chaque résultat d'affichage des codes dans ce triangle, les couleurs se placent automatiquement.

Pouvez-vous m'aider à corriger ce code ?
Je suppose que c'est au niveau de <<ByVal Target As Range>>> que ça cloche... mais je ne connais pas la solution.

Meric pour votre aide
Webperegrino
 

Pièces jointes

  • ESSAI.xls
    58 KB · Affichages: 59
  • ESSAI.xls
    58 KB · Affichages: 62
  • ESSAI.xls
    58 KB · Affichages: 59

Grand Chaman Excel

XLDnaute Impliqué
Re : Coloration automatique de cellules par macro

Bonjour webperigrino,

J'ai réussi à faire ce que tu veux ainsi :

1. Nommer la plage AI6:BI19 "Plage"
2. changer le code suivant :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
    For Each c In [Plage]
        coloration c
    Next c
     ' coloration Target
End Sub

Le code fait une boucle à travers toutes les cellules de la plage nommée "Plage"

A+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Coloration automatique de cellules par macro

Bonjour Webperegrino,

ton fichier en retour
avec ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
If Not Intersect(Target, Range("AI6:BI19")) Is Nothing Then
    For Each cel In Range("AI6:BI19")
        Select Case cel.Value
            Case "Vi"
                cel.Interior.Color = Range("AF6").Interior.Color
            Case "I"
                cel.Interior.Color = Range("AF7").Interior.Color
             Case "Ci"
                cel.Interior.Color = Range("AF8").Interior.Color
             Case "Ve"
                cel.Interior.Color = Range("AF9").Interior.Color
             Case "J"
                cel.Interior.Color = Range("AF10").Interior.Color
             Case "O"
                cel.Interior.Color = Range("AF11").Interior.Color
             Case "R"
                cel.Interior.Color = Range("AF12").Interior.Color
             Case "Rose"
                cel.Interior.Color = Range("AF13").Interior.Color
             Case "Tu"
                cel.Interior.Color = Range("AF14").Interior.Color
            Case Else
        End Select
    Next cel
End If
End Sub
à+
Philippe

Edit: Bonjour Grand Chaman
 

Pièces jointes

  • 111.xls
    66 KB · Affichages: 66
  • 111.xls
    66 KB · Affichages: 68
  • 111.xls
    66 KB · Affichages: 64

Webperegrino

XLDnaute Impliqué
Supporter XLD
Re : Coloration automatique de cellules par macro

Bonjour Grand_Chaman_Excel,
Bonjour Philippe,
Bonjour Le Forum,

- J'ai réalisé quelques ajustements (la codification ne fonctionnant pas sur ce triangle final contenant des formules indiquant les résultats Vi, J, R, Ci, etc),
- j'ai produit un triangle intermédiaire pour n'afficher dans notre triangle final que des "valeurs"... copier le triangle intermédiaire -- coller "Valeurs dans le trangle final,
- j'ai alors réussi à appliquer sans problème la codification de Philippe.

Grand Chaman Excel, ta formulation était alléchante, mais j'ai eu un message d'erreur du type : Coloration : erreur de compilation Sub ou Function non définie.
J'ai donc dû abandonner cette proposition. Désolé.

Sincèrement, je vous remercie tous les deux d'avoir porté une attention à ma demande. Mon fichier original, adapté sur la proposition de Philippe fonctionne parfaitement.

Bon Week-end à vous tous, et encore merci au Forum d'exister.
C'est toujours un plaisir de venir y fureter des raisonnements pour mes applications Excel.
Webperegrino
 

Discussions similaires

Statistiques des forums

Discussions
314 628
Messages
2 111 333
Membres
111 103
dernier inscrit
Maxime@mar