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

skyflam

XLDnaute Nouveau
Bonjour a tous, je suis nouveau et je travaille depuis peu sur les macros excel donc désolé pour mon incultivité.
Voila j'ai récupéré cette macro de façon a mettre en évidence certaines valeurs dans mon tableau. De cette façon je vois immédiatement les points critiques d'une carte de flux (la ou les énergies seront trop fortes). Mais je n'arrive a faire fonctionner cette macro que pour une cellule et pas pour une plage de cellule.

Sub Colouring_balance()

Range("C4:H26").Select
If Selection.Value < 0.5 Then
Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 3
.Pattern = xlSolid
End With
Else
Selection.Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 10
.Pattern = xlSolid
End With
End If
End Sub


De plus, je voudrais ajouter une autre condition:
en rouge si zone <0,5 en bleu si >0,7 et en orange si compris entre 0.5 et 0.7

Si vous pouviez m'aider

Merci d'avance
 
Re : Erreur type 13

Re:

En espérant que cela conviendra:

Code:
Sub Couleurs()
    'Variable qui contiendra une référence à la cellule en cours de traitement
    Dim c As Range
    Dim idxCouleurEcriture As Integer ' index de la couleur de l'écritue
    Dim idxCouleurFond As Integer ' index de la couleur du fond
    
    'Pour chaque cellule de la plage concernée (C4:H26)
    For Each c In Range("C4:H26").Cells
        
        'Suivant le cas
        Select Case c.Value
           
            Case Is < 0.5 'Valeurs inférieures à 0,5
                idxCouleurEcriture = 2
                idxCouleurFond = 3
            Case 0.5 To 0.7
                idxCouleurEcriture = 2
                idxCouleurFond = 44
            Case Is > 0.7
                idxCouleurEcriture = 2
                idxCouleurFond = 41
            Case Else
                'Quelles couleurs si aucune des valeur ne correspond
                'Si cellule vide par exemple
          
        End Select
        
        ' On change les couleurs de la cellule
        With c
            .Font.ColorIndex = idxCouleurEcriture
            With .Interior
                .ColorIndex = idxCouleurFond
                .Pattern = xlSolid
            End With
        End With
    Next c 'Prochaine cellule

End Sub

bonne journée
 
Re : Erreur type 13

Bonjour


A tester

Code:
Sub Colouring_balance()
Dim x As Range
For Each x In Range("C4:H26")
Select Case x.Value
Case 0.5 To 0.7
x.Font.ColorIndex = 2
x.Interior.ColorIndex = 45
Case Is < 0.5
x.Font.ColorIndex = 2
x.Interior.ColorIndex = 3
Case Is > 0.7
x.Font.ColorIndex = 2
x.Interior.ColorIndex = 5
End Select
Next x
End Sub
EDITION: bonjour Hasco, désolé pour la collision

On a du se trompé Orange c'est 46 non ?
 
Dernière édition:
- 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
2
Affichages
960
Réponses
13
Affichages
21 K
Compte Supprimé 979
C
Retour