Re:
Bonjour,
Bon Anna voilà la version V5 de la macro que j'avais faite mais qui coinçait.
Nous en sommes à la version V5, parce qu'il a fallu à Zon 5 versions pour me faire évoluer sur cette derniere macro et à chaque nouvelle version de construction du code, j'ai eu droit à une lecon de vba en passant du simple Case au Tableau pour finir avec cette petite dernière. Alors j'aimerai beaucoup le remercier publiquement pour sa patience et son partage (et comme je suis une pure autoditacte en programmation je ne te dis pas le travail du prof.....).
Le principe est simple dans ton fichier :
il y a deux boutons : le premier déclenche la couleur selon le choix du risque. J'ai pris pour acquis que tu inscrirais un chiffre de 1 à 5 qui prend la même couleur que la cellule
le deuxiéme annule ta selection - j'ai pris sur moi comme option supplémentaire que l'on pouvait changer d'avis ou se tromper sur une dernière cellule - alors là on enléve la couleur de toutes les cellules mais on garde le chiffre pour référence - ainsi on peut retoucher celle dernièere ou bien là ou il semble que l'on se soit trompé. De plus, j'ai laissé la ligne qui elle permet de tout remettre à zéro si on veut tout effacer. Il suffit d'enlever l'apostrophe dans le code.
Le principe des procédures :
Dans le module 1 :
'P1 = la plage ou il y a les codes de couleur
'B12 à B16 ainsi on peut changer le type de couleur
'P2 = la plage qui recoit les couleurs selon le critère de risque
'B4 à B10
Sub Miseenforme(P1 As Range, P2 As Range)
Dim C As Range, T, I As Byte
ReDim T(1 To P1.Rows.Count)
For I = 1 To UBound(T)
T(I) = P1.Cells(I).Interior.ColorIndex
Next I
For Each C In P2
On Error Resume Next
C.Interior.ColorIndex = T(C.Value)
C.Font.ColorIndex = T(C.Value)
Next C
End Sub
Dans la sheet Resume2
2 commandes buttons
'Run permet de déclencher Miseenforme
Private Sub CommandButton1_Click()
Miseenforme Range("B12", "B16"), Range("B4:I10")
End Sub
'Back revient en arrière avec l'option de tout remettre à zéro
Private Sub CommandButton2_Click()
Range("B4:I10 ").Interior.ColorIndex = 0
'Si on veut annuler toutes les donnees et repartir à zero
'Range("B4:I10 ").Font.ColorIndex = 0
End Sub
Celeda(un grand merci, Zon)