1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| Sub CreerLesBordures()
Dim LigneDeTitre As Long
Dim DerniereLigne As Long
Dim DerniereColonne As Long
Dim AireATraiter As Range
Dim CouleurBordure As Variant
With Sheets("Données")
LigneDeTitre = 10
DerniereColonne = .Cells(LigneDeTitre, .Columns.Count).End(xlToLeft).Column
DerniereLigne = .Cells(.Rows.Count, 1).End(xlUp).Row
Set AireATraiter = .Range(.Cells(LigneDeTitre, 1), .Cells(DerniereLigne, DerniereColonne))
Select Case .Range("CouleurChoisie")
Case "Marron"
CouleurBordure = Array(247, 150, 70)
Case "Grise"
CouleurBordure = Array(191, 191, 191)
Case "Noire"
CouleurBordure = Array(0, 0, 0)
End Select
FormaterLesBordures AireATraiter, xlThin, xlHairline, CouleurBordure, True
' TypeDeTrait : très fin : xlHairline ou 1, fin : xlThin ou 2, moyen : xlMedium ou -4138, épais : xlThick ou 4
Set AireATraiter = Nothing
End With
End Sub
Sub FormaterLesBordures(ByVal AireABorder As Range, ByVal TypeDeTraitExterieur As Variant, ByVal TypeDeTraitInterieur As Variant, ByVal CouleurTrait As Variant, ByVal AvecLigneTitre As Boolean)
With AireABorder
' Effacement des anciennes bordures
.Borders.LineStyle = xlNone
With .Borders(xlEdgeTop)
.Weight = TypeDeTraitExterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
With .Borders(xlEdgeBottom)
.Weight = TypeDeTraitExterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
With .Borders(xlEdgeLeft)
.Weight = TypeDeTraitExterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
With .Borders(xlEdgeRight)
.Weight = TypeDeTraitExterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
If AireABorder.Rows.Count > 1 Then
With .Borders(xlInsideHorizontal)
.Weight = TypeDeTraitInterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
End If
If AireABorder.Columns.Count > 1 Then
With .Borders(xlInsideVertical)
.Weight = TypeDeTraitInterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
End If
If AvecLigneTitre = True Then
With AireABorder.Rows(1).Borders(xlEdgeBottom)
.Weight = TypeDeTraitExterieur
.Color = RGB(CouleurTrait(0), CouleurTrait(1), CouleurTrait(2))
End With
End If
End With
End Sub |
Partager