Signaler

VBA: Detection bord tableau

Posez votre question maitrebanjo 1Messages postés jeudi 12 octobre 2017Date d'inscription 12 octobre 2017 Dernière intervention - Dernière réponse le 13 oct. 2017 à 10:38 par Patrice33740
Bonjour à tous,

J'ai codé le code ci dessous qui me permet de mettre en rouge les bords de la ligne de ma cellule active:


Dim oldtarget As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set champ = Range("A1:BZ" & Range("TableauDeBord").Rows.Count + 1)
If Not oldtarget Is Nothing Then oldtarget.EntireRow.Borders.LineStyle = xlNone
If Not Intersect(Target, champ) Is Nothing Then
If Target.Count = 1 Then
With Target.EntireRow
With .Borders(xlEdgeTop)
.Weight = xlMedium
.Color = RGB(255, 0, 0)
End With
With .Borders(xlEdgeBottom)
.Weight = xlMedium
.Color = RGB(255, 0, 0)
End With
End With
End If
End If
Set oldtarget = Target
End Sub


J'aimerais savoir si il y avait une possibilité pour que la mise en forme ne se fasse que jusqu'à la dernière colonne du tableau?
Utile
+0
plus moins
Bonjour

tu peux connaitre la ligne de Target par la fonction "row"

l
igne=target.row


la zone à encadrer est
 zone=Range (cells(ligne,"A"),cells(ligne,"BZ"))


et enfin tu remplaces
With Target.EntireRow
With .Borders(xlEdgeTop)...
par
With Zone
With .Borders(xlEdgeTop)...

Donnez votre avis
Utile
+0
plus moins
Bonjour,

Tu peux simplement remplacer :
With Target.EntireRow
Par :
With Intersect(champ, Target.EntireRow) 


Cordialement
Patrice
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !