dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 2017
-
31 déc. 2012 à 13:32
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 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.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 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.
dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 20171 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 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