Mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion Nora
  • 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 !

N

Nora

Guest
Bonjour forum !

Je cherche à changer la couleur des cellules en fonction de ce qui est saisi

j'utilise à la fois la mise en forme conditionelle pour traiter 3 couleurs puis le code pour traiter la derniere couleur et et le blanc en cas de non saisie

Comment faire pour traiter la colonne entiere ? pour le moment je ne traite la colonne A que de la ligne 1 à 1000.

Les temps de chargement sont assez long, surement parce que je balaye 2 fois la meme colonne. Que faire ?



------------------------------------

Private Sub Worksheet_Change(ByVal Target As Range)

For Each couleur In Range('a1:a1000')

If couleur.Text = 'J' Then
With couleur.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
End If

If couleur.Text = '' Then
With couleur.Interior
.ColorIndex = xlNone
.Pattern = xlSolid
End With
End If

Next

End Sub

-------------------------------

Merci

Nora
 
Bonjour

Modifies comme ceci

Private Sub Worksheet_Change(ByVal Target As Range)

Dim c As Range

If Not Intersect(Target, Range('a1:a1000')) Is Nothing Then
For Each c In Target
With c.Interior
If c.Text = 'J' Then
.ColorIndex = 4
.Pattern = xlSolid
ElseIf c.Text = '' Then
.ColorIndex = xlNone
.Pattern = xlSolid
End If
End With
Next
End If

End Sub

Message édité par: Pascal76, à: 01/12/2005 11:50
 
Re

En fait le grand changement vient du fait que ton code regardé toutes tes lignes de 1 à 1000 et le mien ne regarde que la ou les cellules qui changent

Sinon il y a une autre erreur de copie dans le code

If c.Text = J Then

remplacé par

If c.Text = 'J' Then

Bizarre tous mes ' ont sauté

Je t'envoie tout de même un classeur [file name=Classeur6_20051201114823.zip size=6323]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur6_20051201114823.zip[/file]
 

Pièces jointes

OUPS

Attends j'avais zappé une partie de ta question

J'étais resté sur le pbe de délai et pas sur la question toute la colonne

Il faut donc modifié la ligne

If Not Intersect(Target, Range('a1:a1000')) Is Nothing Then

par

If Not Intersect(Target, Range('A:A')) Is Nothing Then

Oups le fichier avec la nouvelle modif [file name=Classeur6_20051201115355.zip size=6279]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur6_20051201115355.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
14
Affichages
484
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
2
Affichages
239
Retour