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
252
Réponses
10
Affichages
274
Réponses
9
Affichages
147
D
  • Question Question
Réponses
5
Affichages
126
Didierpasdoué
D
Retour