Mettre surbrillance une cellule en fonction de l'activecell
Résolu
Remi2236
Messages postés
89
Statut
Membre
-
Remi2236 Messages postés 89 Statut Membre -
Remi2236 Messages postés 89 Statut Membre -
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
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
5 réponses
-
Bonjour,
Teste ceciPrivate 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 -
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. -
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". -
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 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour Frenchie83, merci ça marche impeccable !
Cdlt Rémi