Question ElseIf
Bonjour,
J'ai un petit problème :
Je cherche à colorier des formes en fonctions de numéros inscrits dans les cellules d'une colonne (par exemple, si en C11 j'ai "18", je voudrais que la forme "Klalk11" se colorie de telle ou telle couleur, etc)
J'ai fait le code suivant :
Sub ColorDept()
Dim X, AsLong
Sheets("Feuil7").Select
For X = 10 To Range("C" & Application.Rows.Count).End(xlUp).Row
If Sheets("Feuil7").Range("C" & X).Value = 0 Then
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 5
ElseIf 0 < Sheets("Feuil7").Range("C" & X).Value <= 5 Then
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 8
ElseIf 5 < Sheets("Feuil7").Range("C" & X).Value <=10 Then
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 9
ElseIf Sheets("Feuil7").Range("C" & X).Value > 10 Then
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 10
End If
Next X
End Sub
Le code fonctionne bien, cependant il n'y a que deux couleurs qui apparaissent ! Et en pas à pas détaillé on voit que la deuxième et la troisième conditions ne sont jamais validées (seulement la 1 et la 2) alors qu'il y a beaucoup de cellules qui contiennent 5 et plus...
Une idée ?
En fonction*
Merci par avance !
Bonjour et bienvenu(e)
Sans fichier
A tester
Sub ColorDept()
Dim X As Long
With Sheets("Feuil7")
For X = 10 To .Range("C" & Application.Rows.Count).End(xlUp).Row
Select Case Range("C" & X)
Case 0
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 5
Case 1 To 5
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 8
Case 6 To 10
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 9
Case Else
Sheets("Feuil4").Shapes("Klalk" & X).Fill.ForeColor.SchemeColor = 10
End Select
Next X
End With
End SubEn effet ça marche ! Par contre à chaque fois que je lance la macro il y a écrit "Erreur blabla, nom non valide [pour la forme]" pourtant ça se colorie bien en entier, et de la bonne couleur... En tout cas merci beaucoup !