Effectuer une action en cliquant/sélectionnant une cellule

Bonjour

Je souhaiterai automatiser des résultats de test en cliquant sur les cellules à sélectionner.
Pour le moment moment le fichier n'est pas encore sous format excel dés qu'il sera je vous le ferai parvenir si ma demande est possible sans trop de manipulations.
Je m'explique je dois faire passer des tests et lorsque le stagiaire clique sur la cellule (a., b., d., e.) dans le 1er tableau ca devrait incrémenter automatiquement le chiffre 1, pour 2 propositions par question, dans le second tableau.

En visualisant les fichiers ca sera plus simple je pense :p

1

demande

2

resultats

Voilà j'espère que ma demande est claire et que vous pourrez m'aider.
Merci d'avance

Bonjour,

Voici une proposition sur le fichier joint, en double-cliquant sur la valeur, à l'aide du code suivant :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Range("QCU")
    If Not Intersect(Target, .Cells) Is Nothing Then
        ligne = Target.Row - .Row + 1
        TargetColor = Target.Interior.Color
        For Each cell In .Rows(ligne)
            cell.Interior.Color = xlNone
        Next cell
        If TargetColor = vbGreen Then Target.Interior.Color = xlNone Else Target.Interior.Color = vbGreen
        Range("Reponses").Cells(ligne, 2).Value = IIf(TargetColor = vbGreen, "", Split(Target.Value, ".")(0))
    End If
End With
End Sub

Les valeurs sont à remplir complètement.

Seul le tableau "QCU" (cible des doubles clics) doit rester sur la feuille actuelle.

Il faut, comme sur votre exemple, que les valeurs dans le tableau QCU soit composées d'une lettre suivie directement d'un point puis des adjectifs. Il ne faut pas de valeur vide dans ce tableau.

Cdlt,

Edit : Fichier chargé à nouveau : un bug se produisait lors d'un double clic hors du tableau QCU

Merci beaucoup de cette réponse rapide.
J'ai mis le fichier au format excel avec les 2 tableaux
Il faudrait que dans chaque case ont puisse sélectionner 2 choix et que ces choix incrémentent un 1 à côté de la lettre concernée dans le second tableau

1test-perso.xlsx (14.89 Ko)

Voici une adaptation de ma précédente proposition pour permettre et limiter le nombre de réponses à 2 par question, reposant sur le code suivant :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
With Range("QCU")
    If Not Intersect(Target, .Cells) Is Nothing Then
        ligne = Target.Row - .Row + 1
        lettre = Split(Target.Value, ".")(0)
        profil = Evaluate("INDEX(Profils[#Headers],MATCH(""" & lettre & """,OFFSET(Profils," & ligne - 1 & ",1,1,4),0)+1)")
        pos = Application.Match(profil, [Choix].Columns(1), 0)
        If Target.Interior.Color = vbGreen Then
            Target.Interior.Color = xlNone
            [Choix].Cells(pos, 2) = [Choix].Cells(pos, 2) - 1
        Else
            If SUMCOLOR(.Rows(ligne), vbGreen) < 2 Then
                Target.Interior.Color = vbGreen
                [Choix].Cells(pos, 2) = [Choix].Cells(pos, 2) + 1
            End If
        End If
    End If
End With
End Sub

Function SUMCOLOR(r As Range, Optional Color As Long = xlNone) As Long
With r
    For i = 1 To .Cells.Count
        If .Cells(i).Interior.Color = Color Then SUMCOLOR = SUMCOLOR + 1
    Next i
End With
End Function

Un tableau a été remplacé. Ce nouveau tableau peut être déplacé en feuille 2. Le tableau principal (cible des clics) doit rester en feuille 1.

Cdlt,

Merci j'ai pu modifier et completer le fichier avec mes données.
Une dernière question pensez-vous qu'il soit possible d'exporter ce fichier avec ses macro, dans un format pdf ou google sheet ?

Non, je ne pense pas. Il est toutefois possible d'exporter (d'éditer) les tableaux en PDF, en tant que sauvegarde figée, mais pas pour agir dessus.

Encore une fois merci pour toutes ces infos.
Je mets le sujet en clos

Rechercher des sujets similaires à "effectuer action cliquant selectionnant"