Sub couleur()
'Définition des variables utilisées dans le code
Dim plage1 As Range
Dim plage2 As Range
'Dim plage3 As Range 'On ne ne l'utilise pas pour le moment (si oui, supprimer le ' en début de ligne)
Dim plage_totale As Range
Dim ValMax(1 To 5) As Variant 'Modifier ici les valeurs pour défnir les meilleurs ou moins bonnes cellules (voir suite du code)
Dim ValMin(1 To 5) As Variant
'On sélectionne la feuille, puis on sélectionne la plage pour mettre les nombres sous la bonne mise en forme
'Modifier la plage (H4:FA82s'il y a ajout de colonne
Sheets("Analyse_Couleur").Select
Range("H4:FA82").Select
Selection = Application.Round(Selection, 2)
'n représente le numéro de colonne, par exemple colonne A = 1, B=2...
'Il est possible de modifier ce nombre s'il y a une insertion de colonne
For n = 8 To 157
Range(Cells(21, n), Cells(37, n)).Name = "plage1"
Range(Cells(39, n), Cells(79, n)).Name = "plage2"
'Range(Cells(4, n), Cells(19, n)).Name = "plage3"
'Définition de la plage de sélection (réunion des plages précédentes), modifier le code comme suit
'pour ajout de la plage3 :
'Set plage_totale = Application.Union(Range("plage1"), Range("plage2"), Range("plage3"))
Set plage_totale = Application.Union(Range("plage1"), Range("plage2"))
plage_totale.Select
'Mise en forme de la plage: on annule toutes les mises en page précédentes sur la sélection
With Selection
.Font.Bold = False 'on enlève la mise en forme "en gras"
.Interior.Color = RGB(255, 255, 255) 'on applique un fond de cellule blanc
.NumberFormat = "General" 'le format des nombres doit impérativement être "General" pour que
'les étapes suivantes se réalisent...'
End With
'Définition des 5 meilleures valeurs, et les 5 moins bonnes, avec comme base un tableau
'Pour modifier le nombre de valeurs à trouver, il faut revenir au début du code, à la ligne "Dim ValMax"
'Il faut alors changer, valmax comme 1 TO 4 par exemple
For i = LBound(ValMax) To UBound(ValMax) 'Définition du tableau
ValMax(i) = Application.WorksheetFunction.Large(Selection, i) 'La fonction "large" définit les 5 meilleures valeurs
Selection.Find(ValMax(i), , xlValues, lookat:=xlWhole).Interior.Color = vbGreen 'Le programme retrouve
'les valeurs et leur applique une couleur de fond, ici green. Pour modifier cette couleur, on peut
'utiliser la méthode RGB comme exprimée dans le code suivant (=RGB(X,X,X))
ValMin(i) = Application.WorksheetFunction.Small(Selection, i) 'La fonction "small" définit les 5 moins bonnes valeurs
Selection.Find(ValMin(i), , xlValues, lookat:=xlWhole).Interior.Color = RGB(18, 31, 171)
Next i 'La première boucle est finie, c'est à dire que la meilleure et plus faible valeur sont mis en forme
'On applique une mise en forme particulière à la colonne de la boucle
Selection.NumberFormat = "#,##0_);[Red](#,##0)"
'End If
Next n 'on sort de la boucle
'Mise en forme de certaines colonnes (exprimée en pourcentage)
Range("AH:AH,AO:AQ,AX:AZ,BA:BC,BG:BI,DQ:DQ").NumberFormat = "0.00""%"";[red]-0.00""%"""
End Sub
'Fin du code