Mise en forme conditionnel >3 de la cellule active

BenLar

XLDnaute Nouveau
Bonjour,

J'essaye de mettre en forme la cellule active de manière conditionnel avec une liste > 3 critères.

Après quelques recherches, j'ai récupéré le code suivant :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Range("a1" ).Cells
Case 1 To 10: Range("a1" ).Interior.ColorIndex = 35
Case 11 To 100: Range("a1" ).Interior.ColorIndex = 40
Case 101 To 1000: Range("a1" ).Interior.ColorIndex = 3
Case 1001 To 20000: Range("a1" ).Interior.ColorIndex = 38
End Select
End Sub

que j'ai adapté de la manière suivante :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
TCell = ActiveCell.Value
Select Case Range(TCell).Text
Case 1 To 10: Range(TCell).Interior.ColorIndex = 35
Case 11 To 100: Range(TCell).Interior.ColorIndex = 40
Case 101 To 1000: Range(TCell).Interior.ColorIndex = 3
Case 1001 To 20000: Range(TCell).Interior.ColorIndex = 38
End Select
End Sub

Bien sûr, cela ne fonctionne pas.

J'ai le message "La méthode 'range' de l'objet '_Worksheet' a échoué".

Pourriez-vous m'aider ?

Ben

PS. Pour info, je connais rien à VBA :(
 

wilfried_42

XLDnaute Barbatruc
Re : Mise en forme conditionnel >3 de la cellule active

bonjour

dans l'entete de la macro, la cellule modifiée est Target
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Select Case [COLOR="Red"]target[/COLOR].Text
       Case 1 To 10: [COLOR="red"]target[/COLOR].Interior.ColorIndex = 35
       Case 11 To 100: [COLOR="red"]target[/COLOR].Interior.ColorIndex = 40
       Case 101 To 1000: [COLOR="red"]target[/COLOR].Interior.ColorIndex = 3
       Case 1001 To 20000: [COLOR="red"]target[/COLOR].Interior.ColorIndex = 38
   End Select
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Mise en forme conditionnel >3 de la cellule active

Bonjour BenLar, Wilfried

en l'absencer de Wilfried, essaye comme ceci :

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
   Select Case Target.Text
       Case 1 To 10: Target.Interior.ColorIndex = 35
       Case 11 To 100: Target.Interior.ColorIndex = 40
       Case 101 To 1000: Target.Interior.ColorIndex = 3
       Case 1001 To 20000: Target.Interior.ColorIndex = 38
    Case Else
        Target.Interior.ColorIndex = xlNone
   End Select
End Sub

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 762
Membres
105 063
dernier inscrit
jazzinou