Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro MFC

1 réponse
Avatar
Michel69
Bonjour à toutes et à tous,
Classeur avec une feuille par mois (Jan 09, Fev 09...). J'ai un code
(worksheet_change... par feuille) qui me colore police + cellule suivant la
saisie. Celà fonctionne très bien. Je souhaiterais qu'à l'ouverture du
classeur, l'utilisateur puisse avoir le choix (msgbox VbYesNo), soit de faire
fonctionner ce code soit non. (ex : Oui, les cellules de la feuille
sélectionnée se colorent en fonction, non, pas de couleur de fond et police
en noir) mais aussi qu'à l'aide d'un bouton, l'utilisateur puisse revenir en
arrière (annulation si coloration des cellules demandée).
Merci encore pour tout
Michel69

1 réponse

Avatar
PMO
Bonjour,

Une piste avec le code suivant
ATTENTION : faites le test sur une COPIE de votre classeur

1) Dans le code des feuilles worksheet_change rajouter en 1ère ligne
If OnColore = False Then Exit Sub
ce qui va donner le code suivant
**********************
Private Sub Worksheet_Change(ByVal Target As Range)
If OnColore = False Then Exit Sub

'--- votre traitement ---

End Sub
**********************

2) Dans ThisWorkbook copiez le code suivant
**********************
Private Sub Workbook_Open()
Dim reponse&
reponse& = MsgBox("Coloriage ?", vbYesNo)
If reponse& = vbYes Then
OnColore = True
Else
OnColore = False
End If
End Sub
**********************
(adaptez le MsgBox comme bon vous semble)

3) Dans un module standard copiez le code suivant
**********************
Public OnColore As Boolean

Sub Decolore()
Dim C As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each C In Selection
C.Font.ColorIndex = xlAutomatic
C.Interior.ColorIndex = xlNone
Next C
End Sub
**********************

Cordialement.

PMO
Patrick Morange