Bonsoir,
Les mots de passe ne sont qu'une protection pour éviter une fausse manoeuvre de la part d'utilisateurs néophyte... En aucune façon une protection contre "la casse". Si tu viens sur un forum, inutile de transmettre un fichier avec mot de passe...
Une solution qui n'utilise pas ColorIndex mais Color.
Coller la macro suivante dans le module "Planning"
Function XL2RGB(xlclr As Long) As Variant
Dim Red As Long, Green As Long, Blue As Long
Blue = xlclr \ 65536
Green = (xlclr - Blue * 65536) \ 256
Red = xlclr - Blue * 65536 - Green * 256
XL2RGB = Array(Red, Green, Blue)
End Function
ensuite modifier la macro de la manière suivante :
Sub maj_boutons()
'Applique les codes de la page d'accueil sur la légende des boutons (bouton01 à bouton23)
Dim n As Byte, i As Byte, k As Long '""""""ne pas oublier de déclarer k as Long
For n = 3 To 14
Sheets(n).Select
ActiveSheet.Unprotect (pwd)
For i = 1 To 23
ActiveSheet.Shapes("bouton" & Format(i, "00")).Select
Selection.Characters.Text = Sheets("Accueil").Cells(7 + i, 2).Value '1ère cellule : B8
k = Sheets("Accueil").Cells(7 + i, 4).Interior.Color '"""""" ligne rajoutée: j'ai supposé que tu voulais utiliser les couleurs de la colonne 4
Selection.ShapeRange.Fill.ForeColor.RGB = RGB(XL2RGB(k)(0), XL2RGB(k)(1), XL2RGB(k)(2)) '"""""" ligne rajoutée
Next i
ActiveSheet.Protect (pwd)
Next n
Sheets("Accueil").Select
End Sub
Avec mes remerciements pour l'aimable collaboration de DanielCo (MVP)
Bonne continuation