click sur une cellule (bis)

  • Initiateur de la discussion mouton
  • Date de début
M

mouton

Guest
je voudrait qu en cliquant sur une cellule, celle si ce grise et qu'apparaisse dedans une valeur contenue dans une autre cellule.

Ca g réussi a le faire en mixant deux codes que g trouve dans le forum, mais si je reclick sur la cellule, seulement la couleur s'efface pas la valeur.

Comment dois-je faire ? excusez moi je suis novice


merci

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range('A1')) Is Nothing Then
With Target
If Selection.Interior.ColorIndex = 48 Then
Selection.Interior.ColorIndex = xlNone
Else
Selection.Interior.ColorIndex = 48
End If
End With
End If
If Target.Address = '$A$1' Then
Range('A1') = Range('B1')
End If
End Sub
 

2passage

XLDnaute Impliqué
Bonjour,

Je te donne la réponse mais essaye surtout de bien comprendre comment ça marche : en gros, s'il y a la couleur, on vide tout, sinon, on ajoute couleur et valeur....

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Application.Intersect(Target, Range('A1')) Is Nothing Then Exit Sub
    With Target
        If .Interior.ColorIndex = 48 Then 's'il y a la couleur....
            .Interior.ColorIndex = xlNone
            .Value = ''
        Else 'sinon on ajoute couleur et valeur....
            .Interior.ColorIndex = 48
            .Value = Range('B1')
        End If
    End With
End Sub

j'ai un peu modifié le code :
- en retournant la condition du début (application.interssect) j'allège le code d'un end if à la fin
- avec le with target, les selection. et range('A1') ne servent pas


A+
 

Discussions similaires

Réponses
7
Affichages
367

Statistiques des forums

Discussions
312 581
Messages
2 089 917
Membres
104 306
dernier inscrit
Bouhlal