Proposition automatique de saisie Listbox

dammex Messages postés 31 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 14 février 2017 - 31 déc. 2012 à 13:32
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 3 janv. 2013 à 21:43
Bonjour à tous,

Dans une cellule, j'ai créé une listebox alimentée en données.

Mon but est de taper les premières lettres de ma recherche dans la listebox et d'obtenir certaines propositions de façon automatique en fonction des lettres tappées.

J'ai donc la fonction suivante:

Private Sub Worksheet_Change(ByVal Target As Range)
   ActiveSheet.Cells(1,1).Select
   Application.SendKeyx ("%{UP}")
End Sub


Le problème avec cette procédure, c'est qu'il me faut valider la cellule (en gros, tapez entrer) pour "changer" la cellule et donc lancer cette procédure... ce qui ne la rend pas vraiment automatique.

Je ne sais pas si je suis bien clair...

Merci pour votre aide.

5 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
31 déc. 2012 à 14:32
Bonjour,
Prends l'habitude (indispensable si l'on veut rester sérieux) de présenter ici ton code par copier/coller strict du code que tu as écrit. Ce n'est manifestement pas le cas.
Je ne verrai le reste qu'après l'observation de cette discipline.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
dammex Messages postés 31 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 14 février 2017 1
31 déc. 2012 à 15:08
désolé j'avais l'habitude de faire comme ça avant. Voici donc le code en copier/coller strict.

Private Sub Worksheet_Change(ByVal Target As Range)

ActiveSheet.Cells(4, 4).Select
Application.SendKeys ("%{UP}")

End Sub

du coup à tu une idée à mon problème ?
Merci de ton aide.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
31 déc. 2012 à 15:45
Dans ta cellule, est-ce qu'il y a une listbox (contrôle listbox) ou une liste déroulante de choix (Données/Validation) ?


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
dammex Messages postés 31 Date d'inscription jeudi 22 juillet 2010 Statut Membre Dernière intervention 14 février 2017 1
31 déc. 2012 à 18:07
Pour le moment, il s'agit d'une liste déroulante crée via le menu Données/Validation... Le problème viendrait d'ici? car rien de n'empêche de créer ma liste en la codant...

J'ai déjà créé une liste en utilisant le code :

ActiveWorkbook.Names.Add Name:="MaListe", RefersTo:="=Feuil2!$J$3:$J$43"
With Sheets("Feuil1").Range("E11:E120").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=MaListe"
.ShowError = True
End With

Cependant, je n'ai pas vu de différence, j'ai le même souci, c'est à dire que je n'ai aucune saisie automatique.

Bref, j'espère t'aider dans mes explications
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
3 janv. 2013 à 21:43
Désolé du retard...

Il n'y a pas cette possibilité car il n'y a aucune action associée à la rentrée de données dans les cellules... équivalents de KeyPress, KeyUp ou KeyDown d'un contrôle sur un Userform.

Les seules possibilités sont au changement de cellule (SelectionChange), lors de la sortie d'une cellule (Change) ou lors d'un double-click ou click droit.


MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous