code vba pour remplacer la mise en forme conditionnelle

CHTING

XLDnaute Junior
Bonjours à toutes et à tous,

Je cherche à mettre en parallèle un code vba qui permet de cocher X en un seul clic (ça c'est bon :)) et un code vba qui permettrait de colorer automatiquement la cellule cochée (apparition de X) et de la décolorer lorsqu'elle est décochée (pas de X).
Pour plus de clarté, mon code ci dessous, j'arrive à colorer une case en cochant en cochant mais je ne trouve pas le chemin inverse (décolorer en décochant).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 _
And (Target.Column = 4 _
Or Target.Column = 7 _
Or Target.Column = 10 _
Or Target.Column = 16 _
Or Target.Column = 20 _
Or Target.Column = 24 _
Or Target.Column = 28 _
Or Target.Column = 38 _
Or Target.Column = 42) Then
Target.Value = IIf(Target.Value = "X", "", "X")
Target.Font.Name = "WingDings"
Target.Font.Size = 12
Target.Interior.ColorIndex = 32

End If
End Sub

merci de votre aide.

Cordialement.
 

CHTING

XLDnaute Junior
Re : code vba pour remplacer la mise en forme conditionnelle

re, j'en profite.
J'ai également un problème avec une liste déroulante.
En fonction de la valeur, je souhaite mettre une couleur (exemple : colonne A, si la cellule est égale à blabla alors couleur rouge etc.)
Toujours de façon automatique et en code vba nien sur :).
je sais le faire dans un module mais pas dans un workbook.

merci de votre aide

cordialement

merci de votre aide.

Cordialement.
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : code vba pour remplacer la mise en forme conditionnelle

Re,

Ma boule de cristal refuse obstinément de me montrer ton fichier qui me serait très utile pour comprendre le problème et tenter d'y trouver une solution

À+
Philippe
 

CHTING

XLDnaute Junior
Re : code vba pour remplacer la mise en forme conditionnelle

Ok, je conçois que ce n'est pas très clair, donc voici un fichier type.
J'ai une liste déroulante en colonne B (Forte, Moyenne, Faible), pour chaque mot, je veux y attribuer automatiquement une couleur (ex : rouge pour "Forte" ou orange pour "Moyenne"). Tout ça sans passer par la mise en forme conditionnelle.

Encore merci
Cordialement
 

Pièces jointes

  • test exceldownload.xlsx
    8.9 KB · Affichages: 64

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : code vba pour remplacer la mise en forme conditionnelle

Re,

avec ce code:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
Select Case Target
Case "Forte"
    Target.Interior.ColorIndex = 3
Case "Moyenne"
    Target.Interior.ColorIndex = 44
Case "Faible"
    Target.Interior.ColorIndex = 6
End Select
End If
End Sub

à+
Philippe
 

Discussions similaires

Réponses
7
Affichages
507

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 361
Messages
2 087 626
Membres
103 610
dernier inscrit
Guelim