XL 2010 Bouton changement de couleur texte noir/rouge ou rouge/noir

tchi456

XLDnaute Occasionnel
Bonjour,

Je souhaite créer un bouton sur une feuille Excel verrouillée dont le mot de passe est un point "." qui change la couleur du texte de la (des) cellule(s) sélectionnée(s) en noir/rouge ou rouge/noir tout en gardant cette feuille verrouillée.

Avez-vous une astuce?

Meilleures salutations,

Thierry
 
Solution
Bonjour,

Voici une autre possibilité:

VB:
Sub BoutonCouleur()
    Dim C As Range
    Me.Unprotect (".")
    For Each C In Selection              ‘boucle sur chaque cas
        C.Font.Color = IIf(C.Font.Color = vbRed, vbBlack, vbRed)
    Next
    Me.Protect Password:="."
End Sub

Lolote83

XLDnaute Barbatruc
Bonjour TCHI456,
Peut être comme ceci mais certainement améliorable
VB:
Sub TEST()
    ActiveSheet.Unprotect (".")                                                                 'Désactive le MDP
    With Selection.Font
        If .ColorIndex = xlAutomatic Then       'Test si couleur noire par défaut
            .Color = -16776961                  'Couleur Rouge
            .TintAndShade = 0
        Else
            .ColorIndex = xlAutomatic           'Couleur Noire
            .TintAndShade = 0
        End If
    End With
    ActiveSheet.Protect Password:=".", DrawingObjects:=True, Contents:=True, Scenarios:=True    'Réactive le MDP
End Sub
@+ Lolote83
 

tchi456

XLDnaute Occasionnel
Bonjour Lolote83,

Merci pour ce code; il fonctionne très bien pour une seule cellule sélectionnée cependant quand je sélectionne plusieurs cellules il ne réagit pas au premier clic. Il faut cliquer 2x pour que ça change la couleur.

Meilleures salutations,

Thierry
 
Dernière édition:

tchi456

XLDnaute Occasionnel
Bonjour,

Voici une autre possibilité:

VB:
Sub BoutonCouleur()
    Dim C As Range
    Me.Unprotect (".")
    For Each C In Selection              ‘boucle sur chaque cas
        C.Font.Color = IIf(C.Font.Color = vbRed, vbBlack, vbRed)
    Next
    Me.Protect Password:="."
End Sub
 

Discussions similaires