FAQ VBA

FAQ VBAConsultez toutes les FAQ
Nombre d'auteurs : 10, nombre de questions : 133, dernière mise à jour : 15 juin 2021
Sommaire→Excel→Plages→Mise en formeIl existe deux approches. On veut encadrer le contour externe de la plage, on utilise BordersAround.
objRange.BorderAround xlContinuous, xlMedium, xlColorIndexAutomaticon 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 WithOn veut tout encadrer
With objRange.Borders
.ColorIndex = 5
.LineStyle = xlContinuous
.Weight = xlThin
End WithLe 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 WithOn 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 WithCe 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"


