1. Ce site utilise des "témoins de connexion" (cookies) conformes aux textes de l'Union Européenne. Continuer à naviguer sur nos pages vaut acceptation de notre règlement en la matière. En savoir plus.

Excel 2010 Lancer macro avec double cliq

Discussion dans 'Forum Excel' démarrée par vaucluse immo, 9 Janvier 2019.

  1. vaucluse immo

    vaucluse immo XLDnaute Accro

    Inscrit depuis le :
    30 Mars 2007
    Messages :
    1233
    "J'aime" reçus :
    0
    Habite à:
    St Rémy de Provence
    Utilise:
    Excel 2010 (PC)
    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
     
  2. Chargement...

    Discussions similaires - Excel 2010 Lancer Forum Date
    Fichier excel 2007 avec macro impossible a lancer avec excel 2010 Forum Excel 25 Avril 2011
    XL 2010 Macro qui ne fonctionne plus sous Excel 2010 Forum Excel 15 Décembre 2018
    Excel 2010 Problème de formule NB.SI.ENS Forum Excel 7 Octobre 2018
    Problème d'ouverture de fichier Excel 2010 Forum Excel 24 Septembre 2018
    excel 2010 > 2016 Forum Excel 11 Septembre 2018

  3. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    bonjour

    es tu bien sur de ce code?
    Code (Visual Basic):

    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
     
  4. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    peut etre ceci... totalement au hasard..

    Code (Visual Basic):

    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
     
     
  5. vaucluse immo

    vaucluse immo XLDnaute Accro

    Inscrit depuis le :
    30 Mars 2007
    Messages :
    1233
    "J'aime" reçus :
    0
    Habite à:
    St Rémy de Provence
    Utilise:
    Excel 2010 (PC)
    Bonjour
    merci de ton intervention
    Non quand j'ai testé le code joint la macro BarreColorTexteBleu nétait pas en commentaires
    Je viens d'essayer ton code ça fonctionne que pour BarreColorTexteBleu,pas Debarre
     
  6. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    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)
     
  7. vaucluse immo

    vaucluse immo XLDnaute Accro

    Inscrit depuis le :
    30 Mars 2007
    Messages :
    1233
    "J'aime" reçus :
    0
    Habite à:
    St Rémy de Provence
    Utilise:
    Excel 2010 (PC)
    BarreColorTexteBleu a pour but de barrer le texte existant de la cellule,si Double cliq
    Debarre a pour but de revenir en arrière,c'est a dire débarrer le texte,si un autre double cliq
    et ce,dans la plage B10:M48
     
  8. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    et ceci??
    Code (Visual Basic):

    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
     
     
  9. vaucluse immo

    vaucluse immo XLDnaute Accro

    Inscrit depuis le :
    30 Mars 2007
    Messages :
    1233
    "J'aime" reçus :
    0
    Habite à:
    St Rémy de Provence
    Utilise:
    Excel 2010 (PC)
    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
     
  10. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    et dans ce que tu as écrit.. à quel moment dis tu qu'il faut remettre en rouge (ColorIndex=3) ??

    Code (Visual Basic):

    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
     
     
  11. vgendron

    vgendron XLDnaute Barbatruc

    Inscrit depuis le :
    24 Février 2009
    Messages :
    5051
    "J'aime" reçus :
    515
    Utilise:
    Excel 2007 (PC)
    à noter:
    Cancel = true
    ca annule uniquement le DOUBLE CLIC, pas ce que la macro a fait
    ce cancel =true permet de refaire un double clic sur la meme cellule SANS devoir passer par la sélection d'une autre cellule;
     
  12. vaucluse immo

    vaucluse immo XLDnaute Accro

    Inscrit depuis le :
    30 Mars 2007
    Messages :
    1233
    "J'aime" reçus :
    0
    Habite à:
    St Rémy de Provence
    Utilise:
    Excel 2010 (PC)
    superrrrrrrrrrrrrrrrrrrrr
    je n'y serais jamais arrivé,sans toi
    grand merci
    ça fonctionne comme prévu
    a bientôt
    Bonne fin de journée
    merci
     

Partager cette page