Changement de couleur d'une cellule lorsque clic dans une autre

Bonjour à toutes et tous et bonnes fêtes de fin d'année !!

Je voudrais savoir comment faire un truc qui sera pour vous d'une facilité enfantine !

J'aimerai que lorsque je clique dans une cellule de la colonne "J", la couleur change dans la colonne "A" de la même ligne et ce dans toute la feuille de mon classeur.

Pourriez-vous svp m'aider ?

A vous les studios ! A vous Cognac-Jay

Bonsoir Saphir, le forum,

A tester:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 10 And Target.Count = 1 Then
     Target.Offset(0, -9).Interior.ColorIndex = 6
  End If
End Sub

A placer dans le module de la feuille.

32saphir.xlsm (11.99 Ko)

Cordialement,

Bonjour et merci !

Cela marche dans le fichier que vous m'avez envoyé.

En revanche quand je colle le code dans les feuilles de mon classeur (sauf la feuille 13 pour laquelle je ne veux pas de changement), j'ai un message qui dit :

Erreur de compilation :

Nom ambigu détecté : Worksheet_SelectionChange.

Je vous adresse le fichier

Bonjour Saphir,

Erreur de compilation :

Nom ambigu détecté : Worksheet_SelectionChange.

C'est normal, tu as déjà un évènement Worksheet_SelectionChange sur chaque feuille.

Il te suffit de rajouter

If Target.Column = 10 And Target.Count = 1 Then
     Target.Offset(0, -9).Interior.ColorIndex = 6
  End If

dans le code de l'évènement....

Ce qui devrait donner un truc du genre:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'quand on clique dans la colonne "I" n°9
    If Target.Column = 9 Then
        Ligne = ActiveWindow.ScrollRow
    End If
    'quand on clique dans la colonne "J", on colore dans la colonne "A"
    If Target.Column = 10 And Target.Count = 1 Then
     Target.Offset(0, -9).Interior.ColorIndex = 6    '6 = jaune
  End If
End Sub

Bien entendu, il faut enlever la protection de la feuille pour que cela fonctionne...

Cordialement,

Superbe ! Merci 1 bon million de fois !!!

Bonjour,

Une alternative :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim lRow As Long
    If Target.Count > 1 Then Exit Sub
    Select Case Target.Column
        Case 9:
            lRow = ActiveWindow.ScrollRow
        Case 10:
            Target.Offset(0, -9).Interior.Color = 65535 'jaune
    End Select
End Sub

Bonsoir,

et plutôt que de changer tous les codes des mois pourquoi ne pas passer par "thisworkbook" ?

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  If Target.Column = 10 And Target.Count = 1 Then
     Target.Offset(0, -9).Interior.ColorIndex = 6
  End If
End Sub

Et a priori cela supporte les doubles "selection change"

ou bien adapter le code de chaque feuille pour n'en faire plus qu'un...

@ bientôt

LouReeD

Re,

bonjour LouReeD

Très bonne solution pour de multiples feuilles.

Je salue une intervention sobre, concise, un code propre…

Il manque cependant quelques smileys supplémentaires; des couleurs de police de caractères (un peu de rouge, un peu de bleu)

Bonnes fêtes de fin d'années.

Cdlt.

Bonsoir,

il m'arrive de mettre des couleurs, mais regardez mes messages, c'est assez rare (à savoir que "rare" n'a pas besoin de superlatif, il se suffit à lui même, donc ) c'est rare.

J'ai bien essayé lors d'une toute petite période (là oui le superlatif peut être utilisé ! ) mais cela me prend trop de temps ! Je suis très loin d'égaler dhany ou plutôt dhany en la matière !

Par contre vous avez raison pour les smileys !

@ bientôt

LouReeD

Rechercher des sujets similaires à "changement couleur lorsque clic"