Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA surbrillance de cellules

3 réponses
Avatar
jpthillard
Bonjour =E0 tous,
Je n'arrive pas =E0 adapter la macro suivante =E0 ma situation.
Voic la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target.Parent.Range("A5")
.EntireRow.Interior.ColorIndex =3D xlNone
.EntireColumn.Interior.ColorIndex =3D xlNone
End With
Target.EntireColumn.Range("A5").Interior.Color =3D vbYellow
Target.EntireRow.Range("A1").Interior.Color =3D vbYellow
End Sub


Je voudrais limiter son utilisation sur la plage I5:AR120. Quand je
clique une cellule dans cette plage, je voudrai que les cellules en
surbrillances soient en colonne B et en ligne 5.

Merci pour votre aide.

JP

3 réponses

Avatar
MichDenis
Tu veux un truc qui ressemble à ceci :

à copier dans le module feuille où l'action se déroule...
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("I5:AR120")) Is Nothing Then
With Intersect(Target, Range("I5:AR120"))
Range("I5:AR120").EntireRow.Interior.ColorIndex = xlNone
Range("I5:AR120").EntireColumn.Interior.ColorIndex = xlNone
.EntireColumn.Interior.Color = vbYellow
.EntireRow.Interior.Color = vbYellow
End With
End If
End Sub
'--------------------------



a écrit dans le message de news:

Bonjour à tous,
Je n'arrive pas à adapter la macro suivante à ma situation.
Voic la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target.Parent.Range("A5")
.EntireRow.Interior.ColorIndex = xlNone
.EntireColumn.Interior.ColorIndex = xlNone
End With
Target.EntireColumn.Range("A5").Interior.Color = vbYellow
Target.EntireRow.Range("A1").Interior.Color = vbYellow
End Sub


Je voudrais limiter son utilisation sur la plage I5:AR120. Quand je
clique une cellule dans cette plage, je voudrai que les cellules en
surbrillances soient en colonne B et en ligne 5.

Merci pour votre aide.

JP
Avatar
jpthillard
On 29 avr, 18:22, "MichDenis" wrote:
Tu veux un truc qui ressemble à ceci :

à copier dans le module feuille où l'action se déroule...
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("I5:AR120")) Is Nothing Then
With Intersect(Target, Range("I5:AR120"))
Range("I5:AR120").EntireRow.Interior.ColorIndex = xlNone
Range("I5:AR120").EntireColumn.Interior.ColorIndex = xlNone
.EntireColumn.Interior.Color = vbYellow
.EntireRow.Interior.Color = vbYellow
End With
End If
End Sub
'--------------------------

a écrit dans le message de news:

Bonjour à tous,
Je n'arrive pas à adapter la macro suivante à ma situation.
Voic la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target.Parent.Range("A5")
.EntireRow.Interior.ColorIndex = xlNone
.EntireColumn.Interior.ColorIndex = xlNone
End With
Target.EntireColumn.Range("A5").Interior.Color = vbYellow
Target.EntireRow.Range("A1").Interior.Color = vbYellow
End Sub

Je voudrais limiter son utilisation sur la plage I5:AR120. Quand je
clique une cellule dans cette plage, je voudrai que les cellules en
surbrillances soient en colonne B et en ligne 5.

Merci pour votre aide.

JP


Merci MichDenis, çà marche super bien. Si je peux encore améliorer en
limitant la surbrillance à la zone I5:AR120 ce serait encore mieux.
Autre chose, je viens de constater que les cellules dans la zone de
surbrillance ayant une MFC n'apparaissent pas en surbrillance. Peut-on
y remédier?
Merci encore de ton aide

JP

Avatar
MichDenis
Ceci va limiter l'effet couleur seulement sur la plage désirée

Pour ce qui est de la mise en forme conditionnelle, ce serait
réalisable en utilisant une fonction personnalisée et en modifiant
(ajoutant) un élément à la mise ne forme condtionnelle....
Résultat : ton application risque de devenir lourde et lente et
les trucs basés sur le fond des couleurs d'une cellule a des
limitations....

'-----------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("I5:AR120")) Is Nothing Then
With Intersect(Target, Range("I5:AR120"))
Range("I5:AR120").Rows.Interior.ColorIndex = xlNone
Range("I5:AR120").Columns.Interior.ColorIndex = xlNone
Range("I5:AR120").Rows(Target.Row - 4).Interior.Color = vbYellow
Range("I5:AR120").Columns(Target.Column - 8).Interior.Color = vbYellow
End With
End If
End Sub
'-----------------------------



a écrit dans le message de news:

On 29 avr, 18:22, "MichDenis" wrote:
Tu veux un truc qui ressemble à ceci :

à copier dans le module feuille où l'action se déroule...
'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("I5:AR120")) Is Nothing Then
With Intersect(Target, Range("I5:AR120"))
Range("I5:AR120").EntireRow.Interior.ColorIndex = xlNone
Range("I5:AR120").EntireColumn.Interior.ColorIndex = xlNone
.EntireColumn.Interior.Color = vbYellow
.EntireRow.Interior.Color = vbYellow
End With
End If
End Sub
'--------------------------

a écrit dans le message de news:

Bonjour à tous,
Je n'arrive pas à adapter la macro suivante à ma situation.
Voic la macro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Target.Parent.Range("A5")
.EntireRow.Interior.ColorIndex = xlNone
.EntireColumn.Interior.ColorIndex = xlNone
End With
Target.EntireColumn.Range("A5").Interior.Color = vbYellow
Target.EntireRow.Range("A1").Interior.Color = vbYellow
End Sub

Je voudrais limiter son utilisation sur la plage I5:AR120. Quand je
clique une cellule dans cette plage, je voudrai que les cellules en
surbrillances soient en colonne B et en ligne 5.

Merci pour votre aide.

JP


Merci MichDenis, çà marche super bien. Si je peux encore améliorer en
limitant la surbrillance à la zone I5:AR120 ce serait encore mieux.
Autre chose, je viens de constater que les cellules dans la zone de
surbrillance ayant une MFC n'apparaissent pas en surbrillance. Peut-on
y remédier?
Merci encore de ton aide

JP