Mettre surbrillance une cellule en fonction de l'activecell

Résolu/Fermé
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 - 27 janv. 2022 à 12:03
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 - 31 janv. 2022 à 10:12
Bonjour,

Je débute en VBA et je bloque sur un code...

Ayant beaucoup de personnels à gérer au boulot, je cherche à faire en sorte que quand je sélectionne une cellule (donc l'activecell), cela me mettre en surbrillance le nom du personnel. La range de mes personnels est ("C23:C58"). J'ai essayé ça mais ça ne fait rien du tout. Je dois passer à côté de quelque chose :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim StaffNames As Range
Dim FirstCellRow As Range
Set StaffNames = Range("C1:C10")
Set FirstCellRow = Cells(1, ActiveCell.Column)

On Error Resume Next
StaffNames.FormatConditions.Delete
If Not Intersect(StaffNames, Target) Is Nothing And Target.Count = 1 Then
Intersect(Target.FirstCellRow, StaffNames).FormatConditions.Add Type:=xlExpression, Formula1:="VRAI"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).Interior.Color = RGB(0, 255, 0)
End If
End Sub

Merci par avance pour vos lumières !

Cdlmt

Rémi
A voir également:

5 réponses

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
27 janv. 2022 à 12:56
Bonjour,
Teste ceci
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With Me.Range("A1")
    If Not Application.Intersect(Target, Range("C23:C58")) Is Nothing Then
        .Range("C23:C58").Interior.ColorIndex = xlColorIndexNone
        .Cells(Target.Row, Target.Column).Interior.Color = vbYellow
    End If
    End With
End Sub
0
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 1
27 janv. 2022 à 13:44
Bonjour,

Je viens de tester, mais en fait je voudrais que quand je clique sur une cellule contenue dans la Range("D23;NC23"), cela me mette en surbrillance la cellule contenant le nom de mon personnel (noms qui sont contenus dans la Range("C23:C85") sur la ligne de mon ActiveCell.
0
M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 281
27 janv. 2022 à 15:57
Un p’tit classeur avec 10/15 données anonymisées serait mieux pour régler le soucis

Allez dans https://www.cjoint.com/
Cliquez sur "PARCOURIR" pour sélectionner le classeur
Clic le bouton "CREER LE LIEN"
Clic droit quand le lien est créé "COPIER LE LIEN"
Sur le post Clic droit "Coller".
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
28 janv. 2022 à 07:52
Bonjour,

Ceci peut-être, mais relisez-vous car votre demande contient des bizareries.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("D23:NC85")) Is Nothing Then
        Range("C23:C85").Interior.ColorIndex = xlColorIndexNone
        Cells(Target.Row, "C").Interior.Color = vbYellow
    End If
End Sub


Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Remi2236 Messages postés 86 Date d'inscription jeudi 10 septembre 2015 Statut Membre Dernière intervention 22 mai 2024 1
31 janv. 2022 à 10:12
Bonjour Frenchie83, merci ça marche impeccable !
Cdlt Rémi
0