Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Afficher zone de texte avec Checkbox

Orson83

XLDnaute Impliqué
Bonjour à tous,
N'ayant pas trouvé la solution par moi-même, j'aimerais savoir comment afficher du texte en cochant une case.
En effet, l'idée est que le texte soit en dur dans des cellules et que par défaut, la coche décochée cache le texte et inversement, la case cochée affiche le texte.
Je joins un fichier exemple dans ce thread. Merci d'avance pour votre aide.
 

Pièces jointes

  • Affiche-zones-V1.xlsm
    19.6 KB · Affichages: 7
Dernière édition:
Solution
Bonjour Orson, TooFatBoy,
En PJ une solution parmi d'autres :
VB:
Sub CheckBox1_Click()
    CouleurTexte [C13:F18], CheckBox1.Value
End Sub
Sub CheckBox2_Click()
    CouleurTexte [C21:F21], CheckBox2.Value
End Sub
Sub CheckBox3_Click()
    CouleurTexte [C23:F23], CheckBox3.Value
End Sub
Sub CouleurTexte(Plage, Etat)
Application.ScreenUpdating = False
If Etat = True Then
    For Each cell In Plage
        cell.Font.Color = vbBlack
    Next cell
Else
    For Each cell In Plage
        cell.Font.Color = cell.Interior.Color
    Next cell
End If
End Sub

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Proposition pour la zone 1 :
VB:
Private Sub CheckBox1_Click()
'
    With Range("C13:F18")
        If Me.CheckBox1.Value Then
            .NumberFormat = "General"
        Else
            .NumberFormat = ";;;"
        End If
    End With

End Sub
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Orson, TooFatBoy,
En PJ une solution parmi d'autres :
VB:
Sub CheckBox1_Click()
    CouleurTexte [C13:F18], CheckBox1.Value
End Sub
Sub CheckBox2_Click()
    CouleurTexte [C21:F21], CheckBox2.Value
End Sub
Sub CheckBox3_Click()
    CouleurTexte [C23:F23], CheckBox3.Value
End Sub
Sub CouleurTexte(Plage, Etat)
Application.ScreenUpdating = False
If Etat = True Then
    For Each cell In Plage
        cell.Font.Color = vbBlack
    Next cell
Else
    For Each cell In Plage
        cell.Font.Color = cell.Interior.Color
    Next cell
End If
End Sub
 

Pièces jointes

  • Affiche-zones-V1.xlsm
    25.5 KB · Affichages: 3
Dernière édition:

Jacky67

XLDnaute Barbatruc
Bonjour à tous
Une autre...
VB:
Private Sub CheckBox1_Click()
[C13:G18].NumberFormat = IIf(CheckBox1, "# ##0.00", ";;;")
End Sub
Private Sub CheckBox2_Click()
[c21:g21].NumberFormat = IIf(CheckBox2, "# ##0.00", ";;;")
End Sub
Private Sub CheckBox3_Click()
[c23:g23].NumberFormat = IIf(CheckBox3, "# ##0.00", ";;;")
End Sub
 

Orson83

XLDnaute Impliqué
Bonjour sylvanu, le forum,
Merci pour cette proposition qui fonctionne parfaitement.
Bon weekend
 

Orson83

XLDnaute Impliqué
Bonjour Jacky67, le forum,
Merci pour cette proposition qui fonctionne très bien. J'ai juste ajouté le € pour obtenir # ##0.00 € dans la mise en forme.
Très bon weekend
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…