Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Comment faire ressortir la ligne sélectionnée dans un tableau

Stéphane_1

XLDnaute Nouveau
Bonjour,

Comme le titre l'indique je cherche à faire ressortir la ligne sélectionnée d'un tableau, un TCD plus précisément, à l'aide d'une macros ou autre.

J'aimerais que la ligne ressorte en changeant la couleur de remplissage, car juste en sélectionnant toutes la ligne du tableau ça limite le reste (plus possible de sélectionner tout le tableau par exemple).

Il faudrait que quand je change de cellules sélectionnée la mise en forme disparaisse.

J'avais vu comment faire ça sur TikTok mais plus moyen de retrouver la vidéo.

Voici le code que j'utilise :

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    If Not Target.Column <= 3 Then Exit Sub
    
    Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Select
    
End Sub

Celui que je suis en train de modifier (qui me retourne une erreur d'exécution 13) :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim TCD As Variant
    
    Set TCD = Range("A1").CurrentRegion
    
    If Not TCD Then Exit Sub
    
    Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Select
    
End Sub

Merci d'avance pour vos réponses.
 
Solution
Bonsoir Stéphane_1,

Placez cette macro dans le code de la feuille contenant le TCD :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pt As PivotTable
For Each pt In Me.PivotTables
    pt.TableRange1.Interior.ColorIndex = xlNone 'RAZ
    If Not Intersect(ActiveCell, pt.TableRange1) Is Nothing Then
        Intersect(ActiveCell.EntireRow, pt.TableRange1).Interior.ColorIndex = 6 'fond jaune
        Exit For
    End If
Next pt
End Sub
A+

job75

XLDnaute Barbatruc
Bonsoir Stéphane_1,

Placez cette macro dans le code de la feuille contenant le TCD :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim pt As PivotTable
For Each pt In Me.PivotTables
    pt.TableRange1.Interior.ColorIndex = xlNone 'RAZ
    If Not Intersect(ActiveCell, pt.TableRange1) Is Nothing Then
        Intersect(ActiveCell.EntireRow, pt.TableRange1).Interior.ColorIndex = 6 'fond jaune
        Exit For
    End If
Next pt
End Sub
A+
 

Stéphane_1

XLDnaute Nouveau

Ça fonctionne exactement comme je le voulais. Merci beaucoup.
 

Discussions similaires

Réponses
32
Affichages
967
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…