Bonjour,
Je début en VBA et je souhaite mettre en surbrillance la ligne et la colonne de la cellules sélectionné. Mon problème c'est toutes les cellules de la colonne et de la ligne sont contouré alors que je voudrais contouré seulement la ligne et colonne!
Voici mon code :
```Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Couleur des bordures et de fond pour la surbrillance
Dim border_color As Long
border_color = RGB(0, 0, 0) 'Noir
Dim fill_color As Long
fill_color = RGB(255, 255, 204) 'Jaune clair
'Effacer toutes les mises en surbrillance précédentes
Range("A1:XFD1048576").Borders.LineStyle = xlNone
'Surbrillance de la ligne et de la colonne de la cellule active
Target.EntireRow.Borders(xlEdgeTop).LineStyle = xlContinuous
Target.EntireRow.Borders(xlEdgeBottom).LineStyle = xlContinuous
Target.EntireColumn.Borders(xlEdgeLeft).LineStyle = xlContinuous
Target.EntireColumn.Borders(xlEdgeRight).LineStyle = xlContinuous
Target.EntireRow.Borders(xlEdgeLeft).LineStyle = xlNone
Target.EntireRow.Borders(xlEdgeRight).LineStyle = xlNone
Target.EntireColumn.Borders(xlEdgeTop).LineStyle = xlNone
Target.EntireColumn.Borders(xlEdgeBottom).LineStyle = xlNone
Target.EntireRow.Borders.Color = border_color
Target.EntireColumn.Borders.Color = border_color
'Vérifier si la colonne est permanente et ne pas changer sa couleur de fond
If Target.EntireColumn.ColumnWidth > 0 Then 'Vérifier si la colonne est visible
If Target.EntireColumn.Address <> Target.Worksheet.Range("A:A").Address And _
Target.EntireColumn.Address <> Target.Worksheet.Range("B:B").Address And _
Target.EntireColumn.Address <> Target.Worksheet.Range("C:C").Address Then
If Target.EntireColumn.Interior.ColorIndex <> xlNone Then 'Vérifier si la colonne a une couleur de fond existante
Target.EntireColumn.Interior.Color = fill_color
End If
End If
End If
End Sub```
Merci d'avance de votre aide.