Excel 2010 Lancer macro avec double cliq

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 !

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
 
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
 
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
 
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)
 
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
 
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
 
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
 
- 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

  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
317
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
223
Retour