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

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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
    1. 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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    3. 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
    4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    5. menzo13140
       
      Merci, je dois rentrer le code Lien à quel niveau dans la VBA ?
      Merci d'avance
      0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    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