Etendre double-clic cellule à plusieurs

dev_co

XLDnaute Occasionnel
Bonsoir
Ci-joint la macro que je voudrais modifier en gros si on double clique une cellule elle se colore et si erreur on re double clique et revient vierge
J'aimerais pouvoir selectionner plusieurs cellules ex : E9 à H9 ( donc par ligne) et au double Clic > colorier fond rouge comme dans le code :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not Application.Intersect(Target, Range("C5:L22")) Is Nothing Then
With Target
If Selection.Interior.ColorIndex = 3 Then
Selection.Interior.ColorIndex = xlNone
Else
Selection.Interior.ColorIndex = 3
End If
End With
End If
End Sub
Ne dites pas qu'il faut un fichier .... je n'en ai pas ; J'ouvre un Nouveau je mets cette macro et teste : cela fonctionne bien mais juste pour UNE cellule ; Possible d'étendre à plusieurs cellules en un coup ?
Merci bien
 

Paf

XLDnaute Barbatruc
bonsoir,

Essayez
If .Interior.ColorIndex = 3 Then
.Resize(1, 4).Interior.ColorIndex = xlNone
Else
.Resize(1, 4).Interior.ColorIndex = 3
Endif


Mais si vous double cliquez en sur la 4ème cellule colorée, ce sont les 4 suivantes qui vont se décolorer; et inversement.

Nota: Selection est inutile dans votre cas puisque vous utilisez with Target

A+
 

Hieu

XLDnaute Impliqué
Salut,

Le double clic semble forcer la selection à une seule cellule (je ne confirme pas)
Par contre, le clic droit te permet ce que tu souhaites :
VB:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Interior.ColorIndex = 3 Then
    Target.Interior.ColorIndex = xlNone
Else
    Target.Interior.ColorIndex = 3
End If
End Sub
 

dev_co

XLDnaute Occasionnel
Bonjour à tous
Merci à ceux qui ont répondu et m'apportent du concret ( pas toujours évident)
Pas évident non plus dans ce cas pour du personnel non initié , mais ça c'est mon rôle de leur faire comprendre
car pour moi c'est simple et OK , je prends !!
Juste un dernier truc pour " La cerise sur le chapeau" :p ( gag !!)
J'ai fait si click sur cellule jaune > Impossible
Question : Si on selectionne par ex E9 - H9 et qu'il y a 2 cellules JAUNE ( 43 je crois ?) qu'il colorie en rouge Tout SAUF le jaune
Merci
 

chris

XLDnaute Barbatruc
Bonjour
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
For Each cellule In Target
    If cellule.Interior.ColorIndex = 3 Then
        cellule.Interior.ColorIndex = xlNone
    ElseIf cellule.Interior.ColorIndex <> 6 Then
        Cellule.Interior.ColorIndex = 3
    End If
Next
End Sub

Selon le jaune le 6 est à adapter (6 c'est la jaune fluo)

Edit : Corrigé : 1 mot changé. Avec un minimum d'effort de compréhension, l'erreur était aisément trouvable...
 
Dernière édition:

dev_co

XLDnaute Occasionnel
Ne pouvez vous pas Tester avant de nous faire parvenir vos réponses ?
Car là le résultat est :
Je clique sur cellule > rouge , là ca va Mais ..
si Je clique et étends à x cel. > rien ne se passe , Blanc est bien différent de Jaune ??
 

Paf

XLDnaute Barbatruc
Bonjour dev_co,

Vous vous croyez où en venant sur ce forum à jouer les petits chefs méprisants !!

Ici, il n'y a que des bénévoles qui tentent de rendre service sur leur temps libre.

Si le concept ne vous convient pas, adressez vous à une entreprise ( qui acceptera peut-être votre attitude) .

Pour éviter de croiser à nouveau votre route, désormais je vous ignore....
 

dev_co

XLDnaute Occasionnel
Je ne suis pas assez connu ici mais par le passé j'ai pris quelques sujets en MP et j'ai développé 4 grosses appli en particulier ( travail via mon mail perso ) j'en suis à 460h de VBA hors forum ( du BENEVOLAT) mais j'ai livré du CLE EN MAIN qui fonctionnait parfaitement ; ex : chez KRAFT FOOD ex LU France= 4 mois et 200h et même pas un paquet de biscuits d'offert !! , Juste un Grand Merci de la DRH ( ça fait plaisir quand même) , si je mets une solution : c'est que Je l'ai testé Avant
Même s'il n'y a que du code je le copie , je créé un fichier le colle et teste puis retourne au demandeur > la majorité demande un fichier ??
J'ai commencé en 2000 EXcel/VBA puis inscrit au forum depuis 2005 avec adresse mail du boulot mais fermeture en 2012 j'ai dû arrêter.
Donc PAF ( Police Air Frontiere) tu peux "m'ignorer" ( comme les jeux à la con sur Internet) pour moi ce n'est que du pipi de chat
CHRIS , merci mais je ne vois pas le corrigé ? ou ne pige pas
 

Si...

XLDnaute Barbatruc
Salut,
Avec un minimum d'effort de compréhension, l'erreur était aisément trouvable...
Tout à fait d’accord Chris :D !
blablabla...merci mais je ne vois pas le corrigé ? ou ne pige pas
Bizarre cette façon d’interpeler les gens et étrange pour un tel producteur que toi de déraper sur l’analyse en lecture d’un code aussi simple :cool:.

Avec ton premier code (mais le clic droit pour en éviter un et sans tester car trop simple et comme toi, pas envie de créer un fichier) tu peux toujours te rabattre sur ce code (plus restictif que celui donné par Chris avec d'autres couleurs effacées… )
Code:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim R As Range
   Cancel = 1
   For Each R In Selection
     R.Interior.ColorIndex = IIf(R.Interior.ColorIndex = 3, xlNone, 3)
   Next
End Sub
Nota : pour ce genre d'évènement, une recherche sur le mot Cancel peut être intéressante !

Salut Paf ;):cool:
 

Discussions similaires

Statistiques des forums

Discussions
312 233
Messages
2 086 466
Membres
103 225
dernier inscrit
PAPA ALIOUNE HANE