Code VBA pour qu'une bordure diagonale apparaisse

Bonjour,

je commence le codage VBA, j'ai un petit soucis, j'aimerai que dans ma plage de cellule "actif", à chaque fois qu'une cellule contient 0, alors qu'une bordure diagonale rouge apparaisse.

Avec mon code ci-dessous, toutes les cellules deviennent barrées diagonalement, qu'il y ai un 0,1, 2 ou autre dans la cellule....

Merci de votre attention.

Sub test ()
Dim cellule As Range

Range("actif").Select

For Each cellule In Selection
If cellule = "0" Then

    With Selection.Borders(xlDiagonalUp)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = 3
    End With
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = x1automatic
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = x1automatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = x1automatic
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = x1automatic
    End With
    Selection.Borders(x1insidevertical).LineStyle = x1none
    Selection.Borders(x1insidehorizontalal).LineStyle = x1none

End If
Next cellule
End Sub

Bonjour,

Tu pourrais tester la macro suivante .

Sub Test2()
Dim cellule As Range
    For Each cellule In Range("actif")
          If Not IsEmpty(cellule) And cellule.Value2 = 0 Then
              With cellule.Borders(xlDiagonalUp)
                  .LineStyle = xlContinuous
                  .Weight = xlThin
                  .ColorIndex = 3
              End With
              With cellule.Borders(xlEdgeLeft)
                  .LineStyle = xlContinuous
                  .Weight = xlMedium
                  .ColorIndex = xlAutomatic
              End With
              With cellule.Borders(xlEdgeRight)
                  .LineStyle = xlContinuous
                  .Weight = xlMedium
                  .ColorIndex = xlAutomatic
              End With
              With cellule.Borders(xlEdgeBottom)
                  .LineStyle = xlContinuous
                  .Weight = xlMedium
                  .ColorIndex = xlAutomatic
              End With
              With cellule.Borders(xlEdgeTop)
                  .LineStyle = xlContinuous
                  .Weight = xlMedium
                  .ColorIndex = xlAutomatic
              End With
          End If
    Next cellule
End Sub

En espèrant que cela t'aide

Super merci beaucoup!!

a quoi correspond en français la ligne que vous avez rajouté ?

Merci encore.

Content que cela fonctionne ...

If Not IsEmpty(cellule) And cellule.Value2 = 0 Then

en ' français ' ...

Si cellule n'est pas vide Et que la valeur de la cellule est égale à 0 Alors

J'espère que c'est compréhensible ...

Rechercher des sujets similaires à "code vba bordure diagonale apparaisse"