Clic cellule renvoie sa valeur vers une autre cellule [Résolu]

Signaler
Messages postés
87
Date d'inscription
vendredi 25 août 2017
Statut
Membre
Dernière intervention
30 mars 2021
-
Messages postés
400
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
3 juin 2021
-
Bonjour,

J'ai 4 possibilités de notation en fonction du résultat :
A en L7
B en L8
C en L9
D en L10
Je souhaiterais pouvoir, en fonction du résultat obtenu, cliquer sur la note correspondante (A, B, C ou D) et voir ce résultat reporté automatiquement dans la cellule P3.
Est-ce possible ?

Merci pour votre assistance
Cordialement
Fat



Configuration: Windows / Chrome 87.0.4280.141

3 réponses

Messages postés
400
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
3 juin 2021
78
Bonjour,
C'est possible avec une petite macro à placer dans la feuille en question.

Clic droit sur l'onglet > Visualiser le code > Copier-coller la macro ci-dessous

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
  If Not Application.Intersect(Target, Range("L7:L10")) Is Nothing Then
    Range("P3").Value = Target.Value
  End If

End Sub
Messages postés
87
Date d'inscription
vendredi 25 août 2017
Statut
Membre
Dernière intervention
30 mars 2021

Merci RoMa
Ca marche très bien tant que la feuille n'est pas protégée.
Sinon, ça coince.
Possibilité d'adaptation ?

Salutations
Fat
Messages postés
400
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
3 juin 2021
78
2 solutions :
- La feuille étant déprotégée, on déverrouille uniquement la cellule P3 : Clic droit > Format de cellule > Protection > décocher "Verrouillée" > Protéger la feuille. La macro fonctionnera tel que.
- Utiliser la macro modifiée comme ci-dessous. Elle ôte/remet la protection à la volée :
la valeur de la constante motDePasse doit bien entendue contenir votre mot de passe actuel.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
  Const motDePasse = "12345"
  
  If Not Application.Intersect(Target, Range("L7:L10")) Is Nothing Then
    ActiveSheet.Unprotect (motDePasse)
    Range("P3").Value = Target.Value
    ActiveSheet.Protect (motDePasse)
  End If

End Sub