begin process at 2012 02 16 02:34:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Langages dérivés

 > 

VBA

 > 

Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

mercredi 12 décembre 2007 à 17:27:10 | Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

arnaud95000

Bonjour, afin de finaliser un projet et de le rendre agrèable à l'utlisateur, j'aimerai faire une textbox qui permette d'une part de selectionner les cellules les unes après les autres contenant le mot dans la textbox comme la fonction recherche, et si possible qu'il fasse une saisie semi-automatique, c'est à dire imaginon que sur notre plage nous avons Toto Titi Tipa, qu'il me propose Tipa lorsque j'ai écrit Tip.
Merci beaucoup et bonne soirée a vous.
mercredi 12 décembre 2007 à 23:03:01 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

MPi

Dans l'événement KeyPress du textbox, il faudra que tu utilises la fonction Find pour trouver la première occurrence d'un mot commençant par le texte du textbox, en utilisant le paramètre xlPart

Mais ça risque de ralentir ton programme passablement, j'imagine...(?)

MPi²
jeudi 13 décembre 2007 à 07:18:21 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

bricoyeye

Membre Club
Salut,

Effectivement, ça va te ralentir ton programme, surtout si tu as plusieurs cellules
jeudi 13 décembre 2007 à 10:47:05 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

arnaud95000



Bonjour, j'ai essayé de faire la méthode, mais je n'y suis pas arrivé, auriez vous un exemple de code de la manière d'utiliser ces commandes svp?Merci beaucoup et bonne journée.
jeudi 13 décembre 2007 à 22:50:03 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

zener82

Pour la fonction recherche, il suffit d'utiliser la fonction .Find appliquée à un Range par exemple [exemple Range("A:A").Find(textbox.text, + options) ]. Cette fonction, tu peux la lancer lors de l'appui sur un bouton que tu places à coté.
J'ai déjà fait le test, ca marche bien, et ca se comporte exactement comme la fonction recherche d'Excel (Ctrl+F).


Pour la saisie semi-automatique, je pense également que ca risque d'etre trop lourd, car il va falloir balayer l'ensemble de tes cellules. Si ta plage de cellule de texte à rechercher n'est pas trop grande, c'est peut etre jouable...
vendredi 14 décembre 2007 à 01:12:40 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

MPi

Par contre, comme tu veux rechercher le début d'une chaîne, il vaudrait peut-être mieux passer par une recherche en boucle avec
For Each...Next

MPi²
samedi 15 décembre 2007 à 11:32:15 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

zener82

J'ai pas bien compris pourquoi il vaut mieux utiliser la boucle For en cas de recherche de début de chaine...

De mon point de vue, et sauf erreur de ma part, il suffit d'indiquer dans les options de la fonction "Find" la propriété xlPart (au lieu de xlWhole) afin de faire la recherche sur une partie de la cellule seulement... Ainsi, le range devrait pouvoir fonctionner, et est beaucoup plus rapide que toute boucle dans la feuille excel.

Me trompje ?
samedi 15 décembre 2007 à 13:59:26 | Re : Inserer la fonction de recherche dans une textbox + saisie semi automatique des mots entrés ds la textbox.

MPi

Salut Zener,
C'est vrai que Find est plus rapide, en principe. C'est pourquoi je le lui avais suggéré. Et je l'utilise régulièrement.

Par contre, si tu recherches "tati", Find pourrait trouver "Patati"
qui n'est pas nécessairement ce qu'on veut trouver... Il faudrait alors refaire une recherche avec FindNext ...

Dans un cas comme dans l'autre (Find ou For Each...Next), ça prendra une vérification des 2 mots avec Left. Alors, difficile de dire laquelle des méthodes sera la plus rapide. Il faudrait faire le test sur des milliers de recherches... J'ai déjà fait des tests avec boucles et Find (avec Mortalino dont on n'entend plus parler...?) et ses boucles étaient plus rapides que mes Find... allez savoir (?)

Et on en revient à la lenteur du programme suite à chaque touche vérifiée.

Finalement, le mieux serait peut-être de charger toutes les valeurs de la colonne dans un tableau, le trier et boucler celui-ci (?) Encore là, ça prendrait des tests...

MPi²


Cette discussion est classée dans : textbox, fonction, recherche, semi, saisie


Répondre à ce message

Sujets en rapport avec ce message

saisie semi-automatique [ par Estelle_BNP ] Bonjour,j'ai créé sous Excel une base de donnée de produits. Chaque produit a un identifiant unique composer de chiffres et de lettres.J'ai créé égale Ecrire dans une textBox sans passer par les fonctions de la userform [ par cobra2008 ] bonjour à tous et toutes je que je cherche à faire est je pense très simple mais j'ai un problème pour trouver la fonction (ou la méthode) pour y arr Pb : rechercher un mot après celui qu'on recherche dans un textbox [ par Aurel62190 ] Bjr à tous, j'ai un pb comme il est précisé dans le titre. Dans un textbox, j'ai par exemple ceci : - Je suis gentil - Je suis content - Je suis libr Pb saisie décimal dans un textbox [ par madmax24 ] Bonjour,Je travaille sur Excel VB pour développer un petit outil de tests statistiques (je suis débutant sur VB).A un moment donné, je dois rentrer un recherche verticale dans plusieurs feuilles [ par morgan78000 ] bonjour, je cherche à réaliser une macro de recherche verticale sur une dizaine de feuilles, de plus la fonction de recherche verticale est à appliqué Recherche équivalent de cette fonction (DateDiff avec exclusion de PLAGE HORAIRE) [ par webmestreContrePouvoir ] Houyou !! Auriez vous une portion de code en VBA qui permette d'extraire une plage horraire que l'on renseigne en variable ? DateDiff permet de fair Controler l'entrée des décimals dans un textbox en vb 2008 express [ par fadan ] Bonjour le forum.Je viens de découvrir, VB 2008 express.Et étant débutant en programation, je cale sur le contrôle de saisies dans un textBox.En effet Fonction recherche dans Mysql [ par scm ] Bonjour Je developpe une appli dans VB6 et mysql, je souhaite que dans ma table qu'il y'ait qu'un enregistrement unique, par exemple le numero d'envoi Empecher saisie caracterer Textbox [ par lokomass ] Bonjour, J'aimerais interdire la saisie de texte dans un textbox. J'ai trouvé ce code sur le net : [code=vb]Private Sub NBrePorts_KeyPress(KeyAscii


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,418 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales