Excel 2010 Lancer macro avec double cliq

MuscatMimi

XLDnaute Accro
Bonsoir a tout le Forum
Meilleurs vœux a tous et surtout la santé
Dans mes archives j'ai récupéré ce code

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
' Call BarreColorTexteBleu
' Exit Sub
End If
Else
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
Call Debarre
End If
End Sub

Il fonctionne qu'avec "BarreColorTexteBleu,c'est tout
je ne vois pas ou est l'erreur
DoubleClique dans une cellule = macro "BarreColorTexteBleu"
et a nouveau,pour revenir en arrière= Macro "Debarre"
Christian
 

vgendron

XLDnaute Barbatruc
bonjour

es tu bien sur de ce code?
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
' Call BarreColorTexteBleu
' Exit Sub
End If
Else
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
Call Debarre
End If
End Sub
1) je vois des erreurs de syntaxe: end if mal placé et ou manquant
2) l'appel à la macro BarreColorTextebleu est mis en commentaire.. donc aucune chance que cela fonctionne..
3) redondance du "if not intersect".....

il serait sans doute interressant de voir ton fichier exemple
 

vgendron

XLDnaute Barbatruc
peut etre ceci... totalement au hasard..

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
Call BarreColorTexteBleu
Else
Call Debarre
End If
End Sub
 

vgendron

XLDnaute Barbatruc
Bonjour

sans fichier exemple. on va avoir du mal à t'aider plu
et sans savoir ce que c'est censé faire non plus..

le code que j'ai corrigé et proposé fait ceci:

Si tu cliques dans la zone B10:M48, alors la macro BarreColorTexteBleu est lancée (que fait cette macro..? aucune idée)
si tu cliques AILLEURS que dans la zone B10:M487, c'est la macro Debarre qui est lancée (idem aucune idée de ce qu'elle fait)
 

vgendron

XLDnaute Barbatruc
et ceci??
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
Target.Font.Strikethrough = Not (Target.Font.Strikethrough)
Cancel = True
End If
End Sub
 

MuscatMimi

XLDnaute Accro
alors la ça va
sauf que j'ai oublié de te dire que le texte dans ma cellule est en rouge
quand je double cliq,il devient barré et de couleur vert
si a nouveau je reviens en arrière pour le débarrer,le texte redevient rouge
j'ai fait ceci,pour qu'il devienne vert une fois barré,mais je bloque pour qu'il redevienne rouge une fois débarré

If Not Intersect(Target, Range("B10:M48")) Is Nothing Then
Selection.Font.ColorIndex = 10
Target.Font.Strikethrough = Not (Target.Font.Strikethrough)
Cancel = True
End If
 

vgendron

XLDnaute Barbatruc
et dans ce que tu as écrit.. à quel moment dis tu qu'il faut remettre en rouge (ColorIndex=3) ??

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B10:M48")) Is Nothing Then 'SI on double clique dans la zone B10:M48
    Target.Font.Strikethrough = Not (Target.Font.Strikethrough) 'on bascule entre Barré et Non Barré
    Cancel = True
    Target.Font.ColorIndex = IIf(Target.Font.ColorIndex = 3, 10, 3) 'on bascule entre la couleur rouge et vert
End If
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 047
Messages
2 084 863
Membres
102 688
dernier inscrit
Biquet78