Code macro pour double clic

gourdin

XLDnaute Impliqué
Bonjour,

J'ai une macro évenementielle qui se déclenche par double clic sur des cellules

Je souhaiterais qu'une autre macro puisse déclencher cette macro évenementielle en réalisant automatiquement le double clic dans certaines cellule.

Bref un code macro qui déclenche un "double clic" dans une cellule

Merci
 

nicxls

XLDnaute Nouveau
Re : Code macro pour double clic

Bonjour à tous,

j'ai un souci avec une macro doubleclick, en fait j'ai un classeur dans lequel j'ai plusieurs feuilles, je voudrais que lorsque je double click sur une cellule, ça mets un "X" dans la cellule et ça l'enlève quand je re-doubleclick et cela pour toutes les feuilles de mon classeur.xls. j'ai trouvé et complété le code suivant
Code:
Sub BeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Intersect(ActiveCell, Target) Is Nothing Then Exit Sub
If IsEmpty(Target) Then
Target = "X"
ActiveCell.Interior.ColorIndex = 34
Cancel = True
Else
If Target = "X" Then
Target = ""
ActiveCell.Interior.ColorIndex = xlColorIndexNone
Cancel = True
End If
End If
End Sub
Mais cela ne fonctionne que sur une seule feuille du classeur !!!

Quelqu'un pourrait me dire où j'ai fauté ?

Merci d'avance pour votre aide en retour
Nicxls
:confused:
 

Pierrot93

XLDnaute Barbatruc
Re : Code macro pour double clic

Bonjour,

essaye ceci à placer dans le module "thisworkbook" :
Code:
Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Value = "" Then
    Target.Value = "X"
    ElseIf Target.Value = "X" Then Target.Value = ""
End If
Cancel = True
End Sub

bon après midi
@+
 

nicxls

XLDnaute Nouveau
Re : Code macro pour double clic

Bonsoir Pierrot93,

merci beaucoup, effectivement c'est beaucoup plus simple et ça marche. j'ai rajouté ma couleur de fonds et cela donne
Code:
Option Explicit
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
If Target.Value = "" Then
    Target.Value = "X"
    ActiveCell.Interior.ColorIndex = 34
    ElseIf Target.Value = "X" Then Target.Value = ""
    ActiveCell.Interior.ColorIndex = xlColorIndexNone
End If
Cancel = True
End Sub
Merci encore pour votre disponibilité.
:cool: nicxls
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz