Microsoft 365 je cherche un code excel pour copier la couleur d'une cellule, à toutes les cellules qui ont la même valeur dans mon tableau.

Chilali

XLDnaute Nouveau
Bonjour,

J'ai une colonne appelée Couleurs qui va de CF2 à CF17
J'ai un tableau appelée Grille qui va de C6 à CB127
Sur la même feuille de calcul

Par exemple ma cellule :
- CF2 est composée de la valeur 1 et de la couleur bleue
- CF3 est composée de la valeur 2 et de la couleur verte

Dans ma Grille, il y a des 1 et des 2 un peu partout au hasard.

J'aimerai que la couleur bleue se mettent sur tous les 1 et la couleur verte sur tous les 2
Et que si je change ma couleur bleue en rose cela change d'office tous les 1

Auriez-vous un code pour ça.
J'en ai trouvé un qui le fait mais qu'au moment de la saisie des 1 ou 2 dans ma grille et ce n'est pas ce que je recherche.

Je me suis mise au VBA que depuis hier :p
Merci pour votre indulgence et votre aide.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Chilali, et bienvenu(e) sur XLD,
En PJ un essai avec cette macro que j'ai fait de façon très simple :
Code:
Sub colorier()
Dim L, C, N, CoulFond, CoulPolice                           ' Déclaration des variables
'Application.ScreenUpdating = False                         ' Retirez commentaire pour accélérer, avec figeage écran.
For L = 6 To 127                                            ' Pour toutes les lignes du tableau
    For C = 3 To 80                                         ' Pour toutes les colonnes du tableau
        N = Cells(L, C)                                     ' Nombre dans la cellule
        Pos = Application.Match(N, Range("CF1:CF20"), 0)    ' Chercher nombre dans colonne CF
        If Not IsError(Pos) Then                            ' Si valeur trouvée
            CoulFond = Cells(Pos, "CF").Interior.Color      ' Récupère la couleur de fond
            CoulPolice = Cells(Pos, "CF").Font.Color        ' Récupère la couleur de la police
            Cells(L, C).Interior.Color = CoulFond           ' Applique la couleur de fond à la cellule
            Cells(L, C).Font.Color = CoulPolice             ' Idem pour la couleur de la police
        End If
    Next C
Next L
End Sub
A noter qu'il vaut mieux fournir un fichier test qui simplifie la vie au répondeur, et est ainsi très proche de votre fichier.
Ce fichier doit être anonyme et ne comporter aucune données sensibles.

A noter aussi que vous avez l'excellent tutos de David dans nos ressources :

NB: On ne peut pas lancer une macro en automatique sur changement de couleur d'une cellule.
Il faut donc un bouton.
( cependant peut être une piste ici :
https://excel-downloads.com/threads/macro-evenementielle-sur-changement-de-couleur.20023757/ )
 

Pièces jointes

  • Coloriage.xlsm
    87.3 KB · Affichages: 3
Dernière édition:

Discussions similaires

Réponses
4
Affichages
562

Membres actuellement en ligne

Statistiques des forums

Discussions
315 246
Messages
2 117 750
Membres
113 300
dernier inscrit
faby79