VBA: Detection bord tableau

maitrebanjo 1 Messages postés jeudi 12 octobre 2017Date d'inscription 12 octobre 2017 Dernière intervention - 12 oct. 2017 à 14:27 - Dernière réponse : Patrice33740 6317 Messages postés dimanche 13 juin 2010Date d'inscription 12 décembre 2017 Dernière intervention
- 13 oct. 2017 à 10:38
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?
Afficher la suite 
1Messages postés jeudi 12 octobre 2017Date d'inscription 12 octobre 2017 Dernière intervention

2 réponses

Répondre au sujet
michel_m 14939 Messages postés lundi 12 septembre 2005Date d'inscriptionContributeurStatut 12 décembre 2017 Dernière intervention - Modifié par michel_m le 13/10/2017 à 09:23
0
Utile
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)...

 Michel
Commenter la réponse de michel_m
Patrice33740 6317 Messages postés dimanche 13 juin 2010Date d'inscription 12 décembre 2017 Dernière intervention - Modifié par Patrice33740 le 13/10/2017 à 10:38
0
Utile
Bonjour,

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


Cordialement
Patrice
Commenter la réponse de Patrice33740