Comment appliquer des bordures sur une cellule ?

Pour appliquer des bordures à une cellule à l’aide de VBA dans Excel, vous pouvez utiliser deux méthodes différentes. La première est la propriété « Borders » et la seconde est la méthode « BorderAround ». La seule différence entre ces deux méthodes réside dans la propriété « Bordures », vous pouvez même appliquer la bordure à un côté de la cellule et la bordure qui l’entoure s’applique complètement à la cellule.

Dans ce didacticiel, nous allons explorer les deux manières et examiner quelles sont les différentes manières d’ajouter la bordure.

Propriété de bordure VBA

  1. Tout d’abord, vous devez spécifier la plage ou la cellule où vous souhaitez appliquer la bordure à l’aide de l’objet plage.
    specify the range or cell
  2. Après cela, tapez un point (.) puis sélectionnez la propriété « Borders » dans la liste des propriétés et méthodes.
    type a dot and then select the border
  3. Ensuite, spécifiez l’index de bordure à partir des contants disponibles. Ici, j’utilise « xlEdgeBottom » pour appliquer la bordure uniquement au bas de la cellule.
    specify the border index
  4. À partir de là, spécifiez le style de ligne à l’aide de « LineStyle ». J’utilise le « xlContinuonus » comme style de ligne.
    specify th line style
Sub vba_borders()

Range("A1") _
        .Borders(xlEdgeBottom) _
            .LineStyle = XlLineStyle.xlContinuous

End Sub

Maintenant, lorsque vous exécutez ce code, il ajoutera une bordure au bas de la cellule A1.

cela ajoutera une bordure en bas

Utilisation de différentes couleurs avec Color Index/Color

Tout comme vous choisissez normalement la couleur de la bordure lorsque vous le faites manuellement. Dans la propriété border, vous pouvez également utiliser l’index de couleur et la propriété color pour utiliser une couleur autre que la couleur par défaut.

Considérez le code ci-dessous.

With Range("A1").Borders(xlEdgeBottom)

            .LineStyle = XlLineStyle.xlContinuous
            .Color = RGB(255, 0, 0)

End With

Lorsque vous exécutez cette macro, elle ajoute une bordure au bas de la cellule avec une couleur rouge.

en utilisant différentes couleurs avec index de couleur

Ou si vous souhaitez utiliser la propriété colorindex, le code serait comme ça.

With Range("A1").Borders(xlEdgeBottom)

            .LineStyle = XlLineStyle.xlContinuous
            .ColorIndex = 7

End With
propriété d'index de couleur

Connexe: VBA avec déclaration

Ajouter une bordure à l’intérieur d’une cellule

Si vous souhaitez appliquer une bordure à l’intérieur d’une cellule, dans ce cas, vous devez utiliser « xlDiagonalUp » et « xlDiagonalDown » comme xlBorderIndex.

With Range("A1").Borders(xlDiagonalUp)

            .LineStyle = XlLineStyle.xlDashDotDot
            .Color = RGB(255, 0, 0)

End With

With Range("A1").Borders(xlDiagonalDown)

            .LineStyle = XlLineStyle.xlDashDotDot
            .Color = RGB(255, 0, 0)

End With
ajouter une bordure à l'intérieur d'une cellule

Lorsque vous exécutez le code ci-dessus, il ajoute une bordure à l’intérieur de la cellule vers le haut et vers le bas.

Méthode VBA BorderAround

Dans la propriété BorderAround de VBA, vous disposez de 5 arguments facultatifs, mais deux doivent être spécifiés pour appliquer correctement la bordure à une cellule.

méthode vba borderaround

Le code suivant applique la bordure autour de la plage A1:A3 lorsque vous exécutez la macro.

Range("A1:A3").BorderAround _
                LineStyle:=xlContinuous, _
                Weight:=xlThin
spécifier d'appliquer la bordure à une cellule de la bonne manière

Ajouter une bordure à chaque cellule de la plage

Le code suivant parcourt toutes les cellules de la plage et applique la bordure à chaque cellule une par une.

Sub vba_borders()

Dim iRange As Range
Dim iCells As Range

Set iRange = Range("A1:A10")

For Each iCells In iRange
    iCells.BorderAround _
            LineStyle:=xlContinuous, _
            Weight:=xlThin
Next iCells

End Sub
Ajouter une bordure à chaque cellule de la plage

Appliquer la bordure à toutes les cellules avec du texte

Le code suivant utilise un FOR LOOP, USED RANGE, IFEMPTY et IF STATEMENT pour appliquer des bordures aux seules cellules où vous avez une valeur.

Dim iRange As Range
Dim iCells As Range

Set iRange = ThisWorkbook.ActiveSheet.UsedRange

For Each iCells In iRange
    If Not IsEmpty(iCells) Then
    iCells.BorderAround _
            LineStyle:=xlContinuous, _
            Weight:=xlThin
    End If
Next iCells

Supprimer les bordures

Il vous suffit d’utiliser le style de ligne « xlNone ».

Range("A1").Borders(xlDiagonalDown).LineStyle = xlNone

Et si vous souhaitez supprimer la bordure de toutes les cellules d’une feuille de calcul où vous avez une valeur, considérez le code suivant.

Dim iRange As Range
Dim iCells As Range

Set iRange = ThisWorkbook.ActiveSheet.UsedRange

For Each iCells In iRange
    If Not IsEmpty(iCells) Then
        iCells.Borders(xlDiagonalDown).LineStyle = xlNone
    End If
Next iCells

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *