UserForm

Résolu
Bonjour,

Quand je clique dans une cellule cela m'ouvre un UserForm, dedans il y a des bouton et quand je clique sur un des boutons j'aimerai que la cellule ou j'ai cliquer pour l'ouvrir devienne rouge par exemple.

pouvez vous m'aider

merci d'avance

15 réponses

  1. Re,

    Comme prevu un clic (selectionChange) et doubleclic (BeforeDoubleClick) ne vont pas ensemble, selectionChange declanche au premier clic du double clic.

    Donc ai pris Clic droit (BeforeRightClick) pour les x et
    doubleclic (BeforeDoubleClick) pour appel UF

    https://www.cjoint.com/c/FDimlbw6nCf
    1. Merci infiniment de votre aide.
      je vous souhaite une bonne soirée et à demain
      1. Bonjour,

        question: le x dans une cellule et l'appel de l'UF sont-ils lies ???

        Au premier abord clic et double clic devrait pas aller, mais je regarde
    2. Je ne comprend pas votre remarque.
      Je désir que:
      Si je clique sur une cellule ça mette une croix que si je reclique dessus ça enlève la croix et que par double clique ça ouvre un UserForm et que depuis là si je clique sur un bouton de l'UserForm que ça mette en couleur cette cellule.

      J'espère avoir été plus clair

      Merci de votre aide car je suis totalement perdu
      1. Re
        Hé bien, vous voyez que tout peut être écrit en une seule fois !!
        Demain, je regarde la chose, si personne ne prend la suite
        À+
    3. Re
      Qui a écrit "je l'appelle comme ça" avec un évènement double click ???
      Qui est surpris que l'exemple fourni marche sur double click ????
      Faites attention à ce que vous écrivez et donnez donc toutes les infos utiles à faire progresser votre fichier
      1. Pour les X j'ai fait la macro suivante avec Selection_Change:
        Cells(Target.Row, Target.Column).Select

        'Dépose des "x"
        If Not Application.Intersect(Target, Range(Cells(8, 11), Cells(a + 1, 41))) Is Nothing Then
        If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then
        GoTo GestErreur
        End If
        If Range(Target.Address) = "" Then
        Range(Target.Address) = "X"
        Target.Font.Name = "Arial"
        Target.Font.Size = 10
        Target.Font.Bold = True
        Target.Font.Italic = False
        Else
        Range(Target.Address) = ""
        End If
        End If

        'Application.EnableEvents = True
        Exit Sub
        GestErreur:
        'Application.EnableEvents = True
        Exit Sub
        'Application.EnableEvents = True

        Ca met le X si je clique dessus et si le X est déjà il l'enlève.
        Si dans ma macro je supprime la ligne:
        Range(Target.Address) = ""
        votre code fonctionne comment puis je faire pour garder cette ligne et que votre macro fonctionne aussi

        Merci de votre aide
        1. Ca marche si je double clique sur des cellules ou il ni a pas l'option que si je clique une fois cela me met une croix
          1. Hélas ça ne fonctionne pas chez moi,
            Sur les cellules ou j'aimerai que ça fonctionne, il y a que si je clique une fois dessus il mette une croix automatiquement ça pourrait être a cause de ça que votre code ne marche pas.

            Car votre code ne fait rien du tout dans la cellule dans mon fichier
            1. Je l'appel comme ça

              Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

              ColorUserForm.Show

              End Sub

              Mais je ne comprend pas comment faire
              désolé
              1. Re,

                Je vous fait un exemple
            2. Désolé je début et la je ne comprend pas.
              se n'est pas toujours la même cellule que je sélectionne
              1. Re,

                pas toujours la même cellule que je sélectionne Ben oui, ou est le bleme, vous avez bien un code qui appelle cette UF
            3. Bonjour,

              Declarez une variable Public (dans un module) que vous affectez avec l'adresse de la cellule appelante dans le code VBA de la feuille et vous utilisez cette variable dans le code de l'UF