Bonjour,
bien sûr, je vais te l'expliquer:
Private Sub Worksheet_Change(ByVal Target As Range)
Le programme se lance à chaque changement dans la feuille, et a pour paramètre une plage de cellule qui est la variable Target, Target fait référence à la plage de cellules qui vient donc d'être modifié.
Application.EnableEvents = False
Comme on va modifier la valeur de la cellule, il faut temporairement désactiver les évènements (sinon on va encore lancer ce programme et ça n'en finira jamais)
If Target >= 1 And Target <= 56 And Int(Target) = Target Then
Ici je teste si la valeur est comprise entre 1 et 56 (sinon ça ne fait référence à aucune couleur...) et qu'elle soit entière.
Target = ThisWorkbook.Colors(Target.Value)
Probablement la ligne qui va le plus t'intéresser, je remplace la valeur de la cellule par la valeur de la couleur qui est présente dans la palette de couleurs du classeur, si tu écris 1, ça va chercher la première couleur de la palette de couleur en renvoyant sa valeur, si je ne me trompe pas, cette valeur est calculée de la façon suivante, (Rouge)^1 + (Vert)^2 + (Bleu)^3, Rouge, Vert et Bleu sont des valeurs qui varient de 0 à 255 (2^8 - 1). Pour appeler une couleur de la collection, on utilise un index qui varie de 1 à 56, en fonction de l'index que tu choisis, tu vas chercher à différents endroits dans la collection de couleurs, c'est un peu comme si tu avais un paquet de carte et que tu choisissais de tirer la première, la 24 ème ou encore la 40 ème...
Application.EnableEvents = True
Ici on doit réactiver les évènements sinon on va avoir des soucis...
J'espère que tu comprends mieux comment fonctionne le programme