Besoin d'aide VBA svp

menzo13140 -  
 *ZaZou* -
Bonsoir,
Petite question mais assez compliqué pour moi.
J'aimerai savoir, s'il est possible sous excel/VBA de faire ceci :
J'ai mit un bouton : "case à cocher" (Contrôle ActiveX) et, j'aimerai que lorsque je coche cette case, la cellule que je définis est barrée, c'est à dire avec 2 diagonales dans la cellule.
De couleur rouge si possible.

Cela est-il faisable SVP ?
Je suis un peu perdu sur tous les forums et ne trouve pas réponse à ma question.

Merci d'avance,
Amateur en VBA

2 réponses

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

code a mettre dans le VBA de la feuille ou il y a la case a cocher, adaptez la cellule

Private Sub CheckBox1_Click()
If CheckBox1 Then
With Range("C5").Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThick
End With
With Range("C5").Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThick
End With
Else
With Range("C5")
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
.Borders(xlEdgeLeft).LineStyle = xlNone
.Borders(xlEdgeTop).LineStyle = xlNone
.Borders(xlEdgeBottom).LineStyle = xlNone
.Borders(xlEdgeRight).LineStyle = xlNone
.Borders(xlInsideVertical).LineStyle = xlNone
.Borders(xlInsideHorizontal).LineStyle = xlNone
End With
End If

End Sub
0
menzo13140
 
Bonjour,

Je viens de tester cela marche nickel.
Par contre, quand je coche et décoche, cela change mes bordures de ma cellule (après décochage, je perds les bordures de ma cellule)
Une dernière question si je dois faire cela pour plusieurs cellules, je dois retaper le code ou bien je dois modifier le codage ? (c'est à dire par exemple de la cellule C5 à D55 ?)

En tous cas merci encore pour votre aide, cela est très sympa :-)
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

Si seulement mettre croix sur plage C5:D55

Private Sub CheckBox1_Click()
If CheckBox1 Then
With Range("C5:D55").Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThick
End With
With Range("C5:D55").Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Color = -16776961
.TintAndShade = 0
.Weight = xlThick
End With
End If

End Sub
0
menzo13140
 
Merci cela marche parfaitement.
C'est vrai que j'aurai pu le faire seul lol dsl.
Par contre, quand je coche et décoche, cela change mes bordures de ma cellule (après décochage, je perds les bordures de ma cellule) comment, puis-je garder mon format de bordure de cellule ?

merci pour votre aide
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

quand je coche et décoche, cela change ---->Si vous prenez le code Lien (#3) juste au dessus de votre dernier message,cela ne le fait plus
0
menzo13140
 
Merci, je dois rentrer le code Lien à quel niveau dans la VBA ?
Merci d'avance
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

fichier modifie, module de classe pour traiter les bouton option et case a cocher. Ai utilise un code de Lermite222-CCM, que j'ai adapte et modifie pour les Checkbox car erreur 459 ???

https://www.cjoint.com/?DDqnfb5RgdL
0