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

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:

Orson83

XLDnaute Impliqué
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
Bonjour TooFatBoy, le forum,
Merci pour cette proposition.
Il y a juste un problème de format au niveau des valeurs qui perdent les 2 décimales après la virgule ",00 €".
 

Jacky67

XLDnaute Barbatruc
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 poste. Merci d'avance pour votre aide.
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 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
Bonjour sylvanu, le forum,
Merci pour cette proposition qui fonctionne parfaitement.
Bon weekend ;)
 

Orson83

XLDnaute Impliqué
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
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

Statistiques des forums

Discussions
313 287
Messages
2 096 833
Membres
106 758
dernier inscrit
JM9