Colorier une cellule sur un clic

Le
Bruno RCSC
Bonsoir,

Win XP, Excel 2002

Dans un récent post, on trouve le code suivant qui permet de colorier une
cellule lorsque l'on clique dessus pour un onglet donné.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

End Sub



Que doit on faire pour que cette action ne se fasse que pour la colonne 5 de
l'onglet ?

Ou plus généralement pour une plage donnée ?

Objectif : pointer des écritures.



Merci pour votre aide.



BH
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
Francois L
Le #4441811
Bonsoir,

Win XP, Excel 2002

Dans un récent post, on trouve le code suivant qui permet de colorier une
cellule lorsque l'on clique dessus pour un onglet donné.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

End Sub



Que doit on faire pour que cette action ne se fasse que pour la colonne 5 de
l'onglet ?



Bonsoir,

Par exemple
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub

--
François L

Bruno RCSC
Le #4441761
Merci François, cela fonctionne.

Et pour la plage E5:E62 ?

BH
jps
Le #4441751
bonjour bruno
comme ceci peut-être :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If Target.Column <> 5 Then Exit Sub
With Range("E5:E62").Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End Sub

HTH
jps

"Bruno RCSC" 46268fce$0$5069$
Merci François, cela fonctionne.

Et pour la plage E5:E62 ?

BH





Mytå
Le #4441641
Salut

Une autre façon

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("E5:E62")) Is Nothing Then
With Target.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
End Sub

Mytå
LSteph
Le #4441611
Bonjour les amis,
Et les sélections multiples alors hein, on vous l'a dit et répété!
;o)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSect as range, c as range
set isect=Intersect(Target, Range("E5:E62"))
If Not iSect Is Nothing Then
For each c in iSect.cells
with c.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
next
End If
End Sub

'lSteph

Merci François, cela fonctionne.

Et pour la plage E5:E62 ?

BH





jps
Le #4441601
:-)))))
encore que je ne vouaille pas beaucoup de sélections multiples dans la plage
qui intéresse bruno...mais bon, dès qu'il s'agit d'agresser ses petits
camarades dès potron-minet, toutes les féloneries sont bonnes....
jps

"LSteph" %
Bonjour les amis,
Et les sélections multiples alors hein, on vous l'a dit et répété!
;o)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSect as range, c as range
set isect=Intersect(Target, Range("E5:E62"))
If Not iSect Is Nothing Then
For each c in iSect.cells
with c.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
next End If
End Sub

'lSteph

Merci François, cela fonctionne.

Et pour la plage E5:E62 ?

BH






LSteph
Le #4441551
:-) Décodage:

En fait de multiple,...
si l'on veut pointer d'un coup une plage composée de multiples cellules.

Souvent les gens définissent l'intersection et ensuite traitent target
alors qu'on peut très bien traiter l'intersection.

Pour le reste,

encore que je ne vouaille pas beaucoup d'
inconvénient à rendre la monnaie de leur pièce à certains scuddateurs

invétérés pour lesquels même si ce sont parfois de bons
camarades dès potron-minet, toutes les féloneries sont bonnes....


:o))

@+

lSteph

:-)))))
encore que je ne vouaille pas beaucoup de sélections multiples dans la plage
qui intéresse bruno...mais bon, dès qu'il s'agit d'agresser ses petits
camarades dès potron-minet, toutes les féloneries sont bonnes....
jps

"LSteph" %
Bonjour les amis,
Et les sélections multiples alors hein, on vous l'a dit et répété!
;o)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim iSect as range, c as range
set isect=Intersect(Target, Range("E5:E62"))
If Not iSect Is Nothing Then
For each c in iSect.cells
with c.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
next End If
End Sub

'lSteph

Merci François, cela fonctionne.

Et pour la plage E5:E62 ?

BH









Publicité
Poster une réponse
Anonyme