j'ai crée une base de données et maintenant je voudrai créer un petit moteur de recherche sous VBA pour accelérer la recherche d'un élément sur ma base!
en fait je voudrais que la personne qui va s'en servir , ait juste à entrer le nom quel veut et que ça se positionne automatiquement dessus!
je sais pas si c'est faisable mais si qq un pouvait m'aider au plus vite ça serait sympa car je dois faire ça pour le rendre dans qq jours!!
sonia1983
Messages postés3Date d'inscriptionlundi 4 septembre 2006StatutMembreDernière intervention 4 septembre 2006 4 sept. 2006 à 13:48
salut,
il s'agit de VBA Excel
en fait je pense qu'il suffit de créer une zone de liste c'est à peu prés pareil mais je ne sais pas trop comment déclarer les noms dans cette zone!!
merci bien !
Bonjour à tous,
alors je m'y prend super super tard...!!!!!
voilà mon problème:
j'ai crée une base de données et maintenant je vo
cs_carvals
Messages postés50Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention23 janvier 2008 4 sept. 2006 à 18:04
Salut,
Tu crees simplement un petit userform avec juste une textbox et un boutton
ou alors tu mets une textbox dans ta feuille avec un bouton dans ce cas enleve le Userform1 dans "Mysearch"
Sub SpeedSearch()
Mysearch= UserForm1.TextBox1.Value 'Defini la valeur de ta recherce
Worksheets("MySheet").Select
Range("A1").Select 's'assure que la feuille est active, change A1 pour la premiere cellule de ta base de donnees
Cells.Find(What:=Mysearch, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=True) _
.Activate
End sub
attention si MatchCase=true ca recherche les valeurs excates.
Penses que tu peux afficher les valeurs correspondantes a ta recherche ds le user form, cest plus joli.
good luck
carvals
PS: t'as vu je me suis meme arrache pour mettre les couleurs....
sonia1983
Messages postés3Date d'inscriptionlundi 4 septembre 2006StatutMembreDernière intervention 4 septembre 2006 4 sept. 2006 à 20:03
hello Carvals,
merci pour ton aide, en fait il s'agit de noms et non de valeurs alors du coup je ne sais même pas si ça change qq chose (oui oui je sais je suis plus que débutante....!!!!)
et puis je ne sais pas comment faire pour qu'il reconnaisse toutes mes données .
Dans ma base de données, ya qu'une colonne qui m'interesse en fait
au fait merci pour les couleurs ça c classe
PS: il faut faire quoi quand ça dit "Impossible de compiler en mode arrêt" ?!!!!
Bonjour à tous,
alors je m'y prend super super tard...!!!!!
voilà mon problème:
j'ai crée une base de données et maintenant je vo
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_carvals
Messages postés50Date d'inscriptionlundi 20 novembre 2000StatutMembreDernière intervention23 janvier 2008 5 sept. 2006 à 11:27
Salut,
Tu faits pointer ta recherche su la 1ere cellule de ta colonne c'est a dire:
dans la ligne
range("A1").select 'cf post precedent
a la place de A1 tu mets la 1ere cellule de ta colonne.
Toutes sont recommues et avec le script precedent excel va chercher par ligne (d'ou le parametre: SearchOrder:=xlByRows) jusqu'a qu'il trouve la valeur.
Apparement tu commences tout juste dc je vais essayer d'etre clair:
Pour 'lhistoire du mode arret.....
Quand tu es sur ta feuille excel tu ouvres l'editeur VBA (alt+F11)
Dans la barre de tache tu as 3 modes avec des symboles: Play, Pause, Stop le mode arret signifie que le bouton Pause est enfonce donc click sur le bouton Stop ensuite lance ta macro.
Petit conseil si tu comences le VBA:
1 regardes les codes sources disponible sur les forums
2 Une macro n'est que l'automatisation d'une tache manuelle posible il n'y a rien de magique donc quand tu cherches a ecrire une macro mais que tu ne sais pas par ou commencer tu vas dans outils/macro/ enregistrer puis tu realises ton action manuelement (ici ta recherche). Apres tu vas ds l'editeur VBA puis tu regardes dans les modules (en bas a gauche ds l'explorateur de projet VBA) comment excel a ecrit cette tache.
Apres tu definis ton/tes parametre(s) de maniere variable. c a d si tu as fait une recherche manuelle sur le mot "TOTO" dans le script tu veras
tu le changes donc par une variable genre MySearch comme ds le post precedent
Regles:
Une varibale doit etre:
Declaree: juste en dessous de sub tu ecris Dim Mysearch As String (chose que j;ai oublie dans le precedent post lol) string veut dire chaine de caracteres
Definie: Mysearch = worksheets("Sheet1").range("B2").value
le parametre de recherche depend maintenant de la valeur de la cellule B2
Je n'ecris pas le code complet volontairement pour que tu cherches un peu car le but est de comprendre non de faire faire le boulot.
Good luck