Autres Excel 2007 - Clic sur une cellule et faire changer de couleur une autre cellule

Massenie57

XLDnaute Nouveau
Bonjour à tous, n'étant pas un professionnel de Excel, je cherche le moyen lors d'un clic sur une cellule (ex: B6) faire changer de couleur en jaune une autre cellule (ex: C16). Quelqu'un peut il m'aider en m'expliquant la démarche ? Je suis sous Excel 2007. Merci
 
Dernière édition:

Calvus

XLDnaute Barbatruc
Bonjour et bienvenue,

A mettre dans le code de la feuille.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Range("B6"), Target) Is Nothing And Target.Count = 1 Then Exit Sub
[C16].Interior.Color = 65535
Cancel = True
End Sub

A+
 

Calvus

XLDnaute Barbatruc
Re,

Comme ça alors :

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = [B6].Address Then
    [C16].Interior.Color = 65535
Else
    If Target.Address = [D6].Address Then
        [D17].Interior.Color = 65535
    End If
End If
Cancel = True
End Sub

A+
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil,

Un autre code
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Target.Offset(1, 10).Interior.Color = vbYellow
End Sub
[dernière phrase]
Mais comme le signale, Calvus (que je salue au passage ;)), avec un fichier exemple et plus de détails et explication, on pourrait répondre plus précisément.
[/dernière phrase]
 
Dernière édition:

Massenie57

XLDnaute Nouveau
Merci pour vos réponses. Je vous joint le fichier.
J'aimerai pouvoir quand je clique sur une autre case que la précédente revienne en blanc.
Dans le tableau il y a des suites de cases mais il n'y a pas forcément d’ordre logique entre le bandeau de la baie et le répartiteur.
Si cela est trop compliqué on laisse tombé. Je ne veux pas être un boulet.
Merci à vous tous.
 

Pièces jointes

  • Plan raccordement.xlsm
    16.6 KB · Affichages: 6

Dranreb

XLDnaute Barbatruc
Bonjour.
Une proposition avec une MeFC, règle Formule : =C22=ValCel, Format en jaune, s'appliquant à =$C$22:$J$27
et dans le module de l'objet Worksheet :
VB:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Me.Names.Add "ValCel", Target(1 + Target.Row Mod 2, 1).Value
   End Sub
 

Staple1600

XLDnaute Barbatruc
Re

Merci pour le fichier joint.
Testes ce code
(à mettre dans le code de la feuille)
VB:
Private Sub Worksheet_SelectionChange(ByVal T As Range)
Static r As Range
If Not Intersect(Range("C22:J27,C30:J40"), T) Is Nothing Then
    On Error Resume Next
    r.FormatConditions.Delete
    T.FormatConditions.Add(Type:=2, _
    Formula1:=-1).Interior.Color = vbYellow
    Set r = T
End If
End Sub
Est-ce qu'on se rapproche du résultat souhaité?

EDITION
Bonjour Dranreb
Je n'avais pas rafraichi la page avant de poster.
 

eriiic

XLDnaute Barbatruc
Bonjour à tous,

en restant sur le double-clic :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim v, c As Range
    If Not Intersect(Target, Rows("5:16")) Is Nothing Then
        Cancel = True
        v = Cells(Int((Target.Row + 1) / 2) * 2, Target.Column)
        With [C22:J40]
            .Interior.ColorIndex = xlNone
            If v <> "" Then
                Set c = .Find(v, , xlValues, xlWhole)
                If Not c Is Nothing Then c.Interior.Color = vbYellow
            End If
        End With
    End If
End Sub
tu peux double-cliquer également sur le n° indiqué au-dessus de la valeur (ie : B9 ou B10)
eric
 

Discussions similaires