VBA surbrillance de cellules

Le
jpthillard
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #4482191
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
'--------------------------




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
jpthillard
Le #4482041
On 29 avr, 18:22, "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
'--------------------------


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

MichDenis
Le #4481951
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
'-----------------------------




On 29 avr, 18:22, "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
'--------------------------


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

Publicité
Poster une réponse
Anonyme