Mettre des couleurs differentes en fonction de valeur

Signaler
Messages postés
6
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2013
-
Messages postés
30322
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 novembre 2020
-
bonjour,

je voudrais mettre dans mon fichier excel des couleurs differentes dans une colonnes à chaque changement de valeur.
exemple :si 9434 mettre en rouge sur toutes les cellues identiques puis passe à la valeur suivantes
si 9320 mettre en bleu etc.....
j'ai voulu test ce code place dans la feuil dans visual basic:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column = 6 Then
On Error Resume Next
Cells(Target.Row, 1).Resize(, 7).Interior.ColorIndex = [Centre].Find(Target, LookAt:=xlWhole).Interior.ColorIndex
End If
End Sub

je voudrais que la macro prenne ma table de référence [Centre]. Dedans on retrouve la valeur et la couleur a appliquer si la recherche est concluante.
mais ce code en private ne fonctione pas correctement apres je suis obligé de rentrer dans chaques cellues pour que cela fonctionne.

merci pour votre aide
cyril

3 réponses

Messages postés
30322
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 novembre 2020
338
Bonjour,
la macro que vous avez écrite effectue les actions SUR LA cellule modifiée.

Si vous souhaitez appliquer des modifications sur TOUTES les cellules de la feuille, il vous faudra utiliser une boucle qui parcourt votre feuille et fasse les modifications souhaitées.
NB : Par contre, si vous lancez ce type de macro à chaque changement sur la feuille... le temps de recalcule risque d'être très long.. (c'est donc à éviter.)
Déclenchez plutôt l'action lors de l'affichage de la dite feuille et/ou à l'ouverture du classeur.



Messages postés
127
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 novembre 2017

Ou alors tu fais une première macro pour toute ta feuille (qui va être longue... voir très longue, ça dépend de la taille de ta feuille)

Puis tu enlève tout et change par ça :
Sub Worksheet_Change(ByVal Target As Range)
    ...
    ...
    ...
End Sub 

Si je me trompe pas, ça utilise la macro à chaque modif du documents. Avec Target la cellule modifié.

A confirmer quand même ;=)
Messages postés
30322
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 novembre 2020
338
Si je me trompe pas, ça utilise la macro à chaque modif du documents. Avec Target la cellule modifié

non tu ne te trompes pas.
C'est d'ailleurs ce que faisait déjà Loulou .
Messages postés
6
Date d'inscription
jeudi 27 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2013

merci pour les infos

--