FAQ VBA
FAQ VBAConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 133, dernière mise à jour : 15 juin 2021
Il existe deux approches. On veut encadrer le contour externe de la plage, on utilise BordersAround.
objRange.BorderAround
xlContinuous, xlMedium, xlColorIndexAutomatic
on souhaite mettre des bordures particulières, on passe par l'élément de la collection Borders
Dim
objWorksheet As
Worksheet, objRange As
Range
Set
objWorksheet =
ThisWorkbook.ActiveSheet
Set
objRange =
objWorksheet.Range
(
objWorksheet.Cells
(
1
, 1
), objWorksheet.Cells
(
10
, 10
))
With
objRange.Borders
With
.Item
(
xlInsideHorizontal)
.ColorIndex
=
5
.LineStyle
=
xlContinuous
.Weight
=
xlThin
End
With
End
With
On veut tout encadrer
With
objRange.Borders
.ColorIndex
=
5
.LineStyle
=
xlContinuous
.Weight
=
xlThin
End
With
Le code suivant va mettre un fond vert à toutes les cellules dont la valeur est doublonnée dans la première colonne.
Dim
ObjRange As
Range
Set
ObjRange =
Range
(
"A1"
).EntireColumn
With
ObjRange.FormatConditions
.Add
Type
:=
xlExpression, Formula1:=
"=NB.SI(C1;LC)>1"
.Item
(
.Count
).Interior.Color
=
vbGreen
End
With
On peut ajouter un lien indifféremment à un objet ou à une plage.
Dim
objLink As
Hyperlink
Set
objLink =
ActiveSheet.Hyperlinks.Add
(
Range
(
"F2"
), "d:\user\tuto.xls"
)
With
objLink
.SubAddress
=
"A1:C10"
.Follow
NewWindow:=
True
End
With
Ce code crée le lien est ouvre une nouvelle fenêtre contenant la cible. Astuce : Lorsqu'on modifie la cible d'un lien existant on ne modifie pas le texte du lien. Pour que celui-ci change, il faut modifier la propriété value de la cellule contenant le lien :
objLink.Address
=
"d:\jmarc.xls"
objLink.Range.Value
=
"d:\jmarc.xls"