Microsoft 365 Une barre de données avec des nuances de couleurs

  • Initiateur de la discussion Initiateur de la discussion M92_
  • Date de début Date de début
  • Mots-clés Mots-clés
    vba

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 !

M92_

XLDnaute Junior
Bonjour à tous,

J'ai un petit soucis avec un code VBA.

Quand je saisie une valeur (de 0 à 100) dans une cellule vide de la plage A1:21, le résultat est bien celui souhaité (ou presque!) = colonne D
Mai le comportement du code devient assez bizarre quand une cellule de la plage A1:21 contient déjà une valeur (de 0 à 100) = Colonne A

1635683763958.png


VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:E21")) Is Nothing Then
    Target.FormatConditions.AddDatabar
  With Target.FormatConditions(1)
        .MinPoint.Modify newtype:=xlConditionValueNumber, newvalue:=0
        .MaxPoint.Modify newtype:=xlConditionValueNumber, newvalue:=100
           Select Case Target.Value
       Case 0 To 35
       .BarColor.Color = RGB(239, 50, 69) 'Rouge foncé ' "&HFF" 'vbRed
       Case 35 To 50
       .BarColor.Color = RGB(237, 172, 73) 'Orange
       Case 50 To 65
       .BarColor.Color = RGB(161, 243, 106) 'Vert clair
       Case 65 To 100
        .BarColor.Color = RGB(11, 162, 0) 'Vert foncé 'vbGreen
   End Select
   End With
   End If
End Sub

Pouvez-vous m'aider sur ce sujet, s'il vous plaît ?

Merci par avance,

Cdlt,
M92
 
Dernière édition:
Bonjour,

Essayez ceci
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("A1:A21")) Is Nothing Then
        Target.Offset(0, 3).Value = Target
        Target.Offset(0, 3).FormatConditions.AddDatabar
        With Target.Offset(0, 3).FormatConditions(1)
            .MinPoint.Modify newtype:=xlConditionValueNumber, newvalue:=0
            .MaxPoint.Modify newtype:=xlConditionValueNumber, newvalue:=100
         End With
        Select Case Target.Value
        Case 0 To 35
             Target.Offset(0, 3).FormatConditions(1).BarColor.Color = RGB(239, 50, 69) 'Rouge foncé ' "&HFF" 'vbRed
        Case 35 To 50
             Target.Offset(0, 3).FormatConditions(1).BarColor.Color = RGB(237, 172, 73) 'Orange
        Case 50 To 65
             Target.Offset(0, 3).FormatConditions(1).BarColor.Color = RGB(161, 243, 106) 'Vert clair
        Case 65 To 100
             Cells(Target.Row, "D").FormatConditions(1).BarColor.Color = RGB(11, 162, 0) 'Vert foncé 'vbGreen
        End Select
    End If
End Sub

Cdlt
 
- 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

Discussions similaires

Réponses
3
Affichages
746
  • Question Question
Réponses
7
Affichages
1 K
  • Question Question
XL 2013 Aide VBA
Réponses
4
Affichages
1 K
Retour