Action sur 2ème double clic

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

chris6999

XLDnaute Impliqué
Bonjour

Sur double clic dans la plage A17 a192
Je souhaiterais que les colonne A à K de la ligne concernée se colorent.
Mais avec la même action (deuxième double clic) il me faudrait revenir en arrière pour supprimer le fond couleur.
J'ai essayé le CANCEL = True mais cela ne fonctionne pas.

Merci de m'aider si vous savez omment procéder.
Merci d'avance


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)


If Intersect(Target, Range("A17:A192")) Is Nothing Then Exit Sub


Range("A" & Target.Row).Interior.Color = vbYellow
Range("B" & Target.Row).Interior.Color = vbYellow
Range("C" & Target.Row).Interior.Color = vbYellow
Range("D" & Target.Row).Interior.Color = vbYellow
Range("E" & Target.Row).Interior.Color = vbYellow
Range("F" & Target.Row).Interior.Color = vbYellow
Range("G" & Target.Row).Interior.Color = vbYellow
Range("H" & Target.Row).Interior.Color = vbYellow
Range("I" & Target.Row).Interior.Color = vbYellow
Range("J" & Target.Row).Interior.Color = vbYellow
Range("K" & Target.Row).Interior.Color = vbYellow

Cancel = True


End Sub
 
Re : Action sur 2ème double clic

Bonjour ,

Comme ceci peut être

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 

If Intersect(Target, Range("A17:A192")) Is Nothing Then Exit Sub
 
With Range("A" & Target.Row & ":K" & Target.Row)
  If Range("A" & Target.Row).Interior.Color = vbWhite Then
    .Interior.Color = vbYellow
   Else
    .ClearFormats
  End If
End With
 

End Sub
 
Re : Action sur 2ème double clic

Bonjour CAMARCHEPAS

Ca fonctionne très bien sauf que au double clic cela m'enlèvait aussi les bordures en même temps que la couleur
J'ai juste un peu rectifier le code
Merci encore

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)


If Intersect(Target, Range("A17:A192")) Is Nothing Then Exit Sub

With Range("A" & Target.Row & ":K" & Target.Row)
If Range("A" & Target.Row).Interior.Color = vbWhite Then
.Interior.Color = vbYellow
Else
.Interior.Color = vbWhite
End If
End With


End Sub




Bonjour ,

Comme ceci peut être

Code:
 
Re : Action sur 2ème double clic

Bonjour,

une autre approche :
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A17:A192")) Is Nothing Then Exit Sub
With Range("A" & Target.Row).Resize(, 11).Interior
    .Color = IIf(.Color = vbYellow, xlNone, vbYellow)
End With
Cancel = True
End Sub
bon après midi
@+
 
Re : Action sur 2ème double clic

Re,

petite optimisation qui m'avait échappée... :
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("A17:A192")) Is Nothing Then Exit Sub
With Target.Resize(, 11).Interior
    .Color = IIf(.Color = vbYellow, xlNone, vbYellow)
End With
Cancel = True
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
550
Retour