Mettre des couleurs differentes en fonction de valeur

cs_loulou92300 Messages postés 6 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 22 octobre 2013 - Modifié par jordane45 le 9/10/2013 à 15:57
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 - 10 oct. 2013 à 11:13
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

jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
9 oct. 2013 à 16:09
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.



0
tyros25 Messages postés 127 Date d'inscription vendredi 2 janvier 2009 Statut Membre Dernière intervention 5 novembre 2017
10 oct. 2013 à 08:14
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 ;=)
0
jordane45 Messages postés 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 344
10 oct. 2013 à 11:13
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 .
0
cs_loulou92300 Messages postés 6 Date d'inscription jeudi 27 mai 2004 Statut Membre Dernière intervention 22 octobre 2013
10 oct. 2013 à 11:05
merci pour les infos

--
0
Rejoignez-nous