Macro

Résolu/Fermé
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 - 21 juin 2010 à 21:09
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 - 22 juin 2010 à 22:40
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
A voir également:

7 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
21 juin 2010 à 22:10
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å
0
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 1
21 juin 2010 à 22:42
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
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
Modifié par Mytå le 22/06/2010 à 03:14
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)]
0
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 1
22 juin 2010 à 18:49
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 1
22 juin 2010 à 19:46
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
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
Modifié par Mytå le 22/06/2010 à 20:49
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)]
0
benzi Messages postés 66 Date d'inscription samedi 5 mars 2005 Statut Membre Dernière intervention 28 juillet 2015 1
22 juin 2010 à 22:40
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
0