Clic cellule renvoie sa valeur vers une autre cellule

Résolu/Fermé
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021 - 26 janv. 2021 à 15:48
 Utilisateur anonyme - 26 janv. 2021 à 21:15
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
A voir également:

3 réponses

Utilisateur anonyme
26 janv. 2021 à 17:52
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
0
Fat17 Messages postés 87 Date d'inscription vendredi 25 août 2017 Statut Membre Dernière intervention 30 mars 2021
26 janv. 2021 à 20:05
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
0
Utilisateur anonyme
26 janv. 2021 à 21:15
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
0