Code clic texte dans cellule

Bonjour à tous,

je progresse petit à petit en vba mais ai encore besoin de vos conseils : je souhaiterais associer un code à une forme : lorsqu'on cliquerait sur la forme, un certain mot apparaitrait dans une cellule ("Toto" par exemple); et dès que l'on cliquerait ailleurs, il disparaitrait. Je ne suis pas contre un bouton ou une case d'option plutôt qu'une forme - à condition que le fait de cliquer ailleurs décoche la case

Çà semble bête mais je débute..

Merci pour tout!

bonjour,

une proposition via une macro événementielle (à mettre dans la code la feuille qui va bien)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set cliccell = Range("D1") ' cellule sur laquelle il faut cliquer pour mettre toto dans cell
    Set cell = Range("A1") ' cellule dans laquelle il faut mettre/enlever toto lors d'un clic sur cliccell
    Application.EnableEvents = False
    If Target.Address = cliccell.Address Then
        cell.Value = "toto"
    Else
        cell.Value = ""
    End If
    Application.EnableEvents = True
End Sub

Bonjour H2so4,

et merci beaucoup pour ta réactivité!

Le code me va très bien : est-il compatible avec un clic forme?

Très bonne journée, et encore merci

JJ

Bonjour H2so4,

j'ai une dernière question par rapport au code : si je veux répliquer sur d'autres cellules la macro (cad faire apparaitre un autre nom sur une autre cellule en cliquant sur une autre cellule que D1), comment dois-je faire?merci beaucoup!

JJ

Bonjour H2so4,

j'ai une dernière question par rapport au code : si je veux répliquer sur d'autres cellules la macro (cad faire apparaitre un autre nom sur une autre cellule en cliquant sur une autre cellule que D1), comment dois-je faire?merci beaucoup!

JJ

là il va y avoir un problème, il faut revoir la manière de faire.

si tu cliques sur D1, tu mets toto en A1, si tu cliques sur autre chose pour mettre une autre valeur dans une autre cellule, tu vas effacer A1.

Bonjour H2so4,

Merci pour ton retour rapide.

ça ne poserait pas de problème a priori, je ne souhaite pas que les cellules fasses apparaitre en même temps leurs résultats

Merci beaucoup pour ton aide,

JJ

bonjour,

une proposition

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' grp contient une table de groupes de 3 informations
' 1 ere info (A), la cellule à cliquer
' 2ème info (B), la cellule à mettre à jour quand A est cliqué
' 3ème info (C), valeur à mettre en B quand A est cliqué
' répéter ces groupes autant que nécessaire

    grp = Array(Array("D1", "A1", "tutu"), Array("D2", "A2", "tata"))

    Application.EnableEvents = False
    For i = LBound(grp) To UBound(grp)
        A = grp(i)(LBound(grp(i)))
        B = grp(i)(LBound(grp(i)) + 1)
        C = grp(i)(LBound(grp(i)) + 2)
        If Target.Address = Range(A).Address Then
            Range(B) = C
        Else
            Range(B) = ""
        End If
    Next i
    Application.EnableEvents = True

End Sub

c'est exactement ce dont j'avais besoin,

merci beaucoup et bravo.

JJ

Rechercher des sujets similaires à "code clic texte"