Macro

Résolu
Bonjour à tous,

J'ai crée un userform et à l'intérieur une listbox dans laquelle il y a une liste de mots.
Je me positionne sur une cellule et je voudrais en tapant "Entrée" faire apparaitre mon userform puis en cliquant sur un mot de ma liste que celui-ci se mette sur cette cellule de mon tableau.
J'ai la formule mais cela ne fonctionne pa. Il ya des détails qui m'échappent.
Est-ce que quelqu'un pourrait me donner un coup de main?
Merci pour vos réponses.
Dan

Private Sub ListChoix_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'
Select Case (KeyAscii)
Case 13: 'Enter
Select Case (ListChoix.ListIndex)
Case 0:

Feuil1.Cells(TargetT, TargetL).Value = "MAL"
Case 1:
Feuil1.Cells(TargetT, TargetL).Value = "CP"
Case 2:
Feuil1.Cells(TargetT, TargetL).Value = "AA"
Case 3:
Feuil1.Cells(TargetT, TargetL).Value = "FOR"
Case 4:
Feuil1.Cells(TargetT, TargetL).Value = "CSS"
Case 5:
Feuil1.Cells(TargetT, TargetL).Value = "REC"
Case 6:
Feuil1.Cells(TargetT, TargetL).Value = "MUT"
Case 7:
Feuil1.Cells(TargetT, TargetL).Value = "APE"
Case 8:
Feuil1.Cells(TargetT, TargetL).Value = "CSI"

End Select
UserMotif.Hide
Case 27: 'escape
UserMotif.Hide
End Select
'
End Sub

Private Sub UserForm_Activate()
'
ListChoix.Clear
ListChoix.AddItem ("Maladie")
ListChoix.AddItem ("Congé payé")
ListChoix.AddItem ("Absence autorisée payée")
ListChoix.AddItem ("Formation")
ListChoix.AddItem ("Congé Sans Solde")
ListChoix.AddItem ("Recup")
ListChoix.AddItem ("Mutation")
ListChoix.AddItem ("Ecole Apprenti")
ListChoix.AddItem ("Congé Intermitant")

'
UserMotif.StartUpPosition = 2
'
ListChoix.ListIndex = 0
'
End Sub

7 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Salut le forum

    Pouvez vous mettre un fichier représentatif, même avec des infos bidons sur:
    http://www.cijoint.fr pour que l'on puisse vous aiguiller correctement.

    Car il faut d'abord tous recréer avant de commencer.

    Mytå
    1. Bonsoir,

      Voici le fichier. J'ai laissé un bouton juste pour donner une idée mais le but c'est lorsque je me met sur une cellule, je tape "Entrée" le userform s'ouvre, je clique sur la valeur que je veut mettre, le userform se ferme et la valeur se place sur la cellule où je m'étais placé.

      http://www.cijoint.fr/cjlink.php?file=cj201006/cijWxA7cUP.xls

      Merci pour tout.
      Dan
      1. Contributeur
        Salut le forum

        Benzi, une autre approche pour ouvrir ton userform.

        La sélection de la cellule dans les plages vertes.

        Le fichier : Benzi.xls

        Mytå
        Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
        1. Salut,

          Très bien l'approche mais il reste un souci, comment faire pour renseigner la cellule avec les termes de la liste. Si je tape sur "Entrée" il y a un débogage.

          Dan
          1. Salut,

            J'ai réussi à corriger le problème en me servant des formules macro déjà existantes.

            Sujet résolu malgrés que je reste sur ma fin car comme je suis jusqu'au boutiste et je n'aime pas rester sur un echec, j'aimerai trouver la solution.
            Avis aux amateurs.

            Merci Mytå pour ton travail

            Dan
            1. Contributeur
              Re le forum

              Benzi, une procédure qui détecte la touche ENTER, pas fait de test sur la cellule
              qui est sélectionnée (Détection de la plage)

              Le fichier : Benzi_V2.xls

              Merci de préciser la ligne du déboguage et ta version d'Excel,
              afin de voir les modifications (Testé sous Excel 2003 aucun problème)

              Mytå

              P.S. Enregistre le fichier sur ton ordinateur avant de faire les tests.

              Versions installées [MsProject 2003(FR), Excel 2003-2007(FR)]
              1. Bonsoir Mytå,

                Cela fonctionne, merci bien.
                Pour info j'ai Excel 2003 et la ligne était : ActiveCell = "MAL" si je tapais sur "Maladie" dans la liste déroulante ou les autres ActiveCell si je tapais sur le reste.
                Je te fais parvenir le 1er fichier que tu m'as envoyé avec les modif que j'ai apporté afin que tu vois.

                http://www.cijoint.fr/cjlink.php?file=cj201006/cijhjh19OZ.xls

                Merci pour tout
                Dan