Private Sub Workbook_SheetActivate(ByVal Sh As Object)
For Each Sh In Worksheets
If Sh.Name <> ActiveSheet.Name Then
Sh.Tab.ColorIndex = 1
Else
Sh.Tab.ColorIndex = 3 'pas de couleur = -4142
End If
Next Sh
End Sub
Oui car le code est dans le ThisWorkBook, de plus il serait, à mon avis, dangereux de généraliser à tous classeur ouvert. Certains utilisateurs utilisent des codes couleurs dans les onglets et là on écrase tout.Mais il faut reproduire l'opération à chaque classeur ?