Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

colorer une cellule avec une macro

  • Initiateur de la discussion Initiateur de la discussion Pascal
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Pascal

Guest
Bonjour le forum,
j'ai tout exoliquer dans l'exemple 🙂.
Merci et @+ [file name=exemple_20060123092005.zip size=2392]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/exemple_20060123092005.zip[/file]
 

Pièces jointes

Bonjour,

Tu peux faire plus simple et sans macro.

1. dans ton fichier clique sur la cellule D3
2. Vas dans menu / excel / mise en forme conditi
3. Choisis 'la formule est' dans la rubrique de gauche
4. A droite colle cette formule -> =C3='OK'
5. Clique sur 'Format' et choisis ta couleur puis OK
6. Recopie ta cellule D3 vers le bas (jusque D7 dans ton exemple)

NB : Revérifie que la cellule D3 comporte bien la formule telle que je te l'ai donnée et adapte s'il le faut.

😉
 
Bonjour Pascal, Dan 🙂

Des fois Pascal que tu veuilles faire compliqué 🙂 , ou bien que ta question ne soit que la partie emmergente de ce que te cherches... Une soluce avec macro.
A mettre dans la feuille1, voir fichier 😉
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Cell As Range

If Not Intersect(Target.Columns, Columns('C')) Is Nothing Then
'Test : si la négation de l'intersection de la colonne de la cellulle selectionnée avec _
la colonne C est rien (donc négation de : (on n'a pas cliqué dans une case qui nous intéresse..)= on a cliqué où on veut réagir)(permet d'utiliser Intersect dans un cadre booléen) alors ....
For Each Cell In Range(Range('C65536').End(xlUp), Range('C3'))
If Cell = 'OK' Then
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = 2
End If
Next Cell

End If
End Sub


Edition : Euh, remplace le 2 dans : Cell.Interior.ColorIndex = 2 par = xlNone ! c'est beaucoup mieux !

Bonne journée,

Brico [file name=RepPascal.zip size=8278]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RepPascal.zip[/file]

Message édité par: bricofire, à: 23/01/2006 10:17
 

Pièces jointes

bonjour Dan, le forum

Dans ce cas je ne peux plus au bout de la 2eme actualisation faire la différence entre ce qui a étais validé avant et apres. donc je risque de retraiter des prix que j'ai deja traité a la première actualisation.
C pour ca que je préfère la notion de bouton.

Merci.
 
Bonjour toue le monde, 🙂

J'ai l'impression pascal, que ma macro va te poser le même pb que la soluce de Dan, il suffit sion de passer le code de l'évènementiel change à celui clic d'un bouton. Je t'envoie ça, précises + sinon si besoin 🙂
A+
Brico
 
Re tout le monde, 🙂

Une apprche par 'acné software' 🙂

Private Sub CommandButton1_Click()
Dim Cell As Range
For Each Cell In Range(Range('C65536').End(xlUp), Range('C3'))
If Cell = 'OK' Then
Cell.Interior.ColorIndex = 3
Else
Cell.Interior.ColorIndex = xlNone
End If
Next Cell

End Sub

Attention à la Casse !! C'est OK, pas ok

Si tu scannes ta colonne manuellement pour ne mettre que des Ok ou NON, tu gagnerais peut-être à faire tes entrées via une validation de données, tu gagnerais du temps et éviterait surtout des fautes de frappe, quoique avec les listes auto de Excel ??
Bonne journée,
Brico 😉 [file name=RepPascal_20060123103350.zip size=11417]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/RepPascal_20060123103350.zip[/file]
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
11
Affichages
211
Réponses
8
Affichages
132
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…