Création d'une recherche

[Résolu]
Signaler
Messages postés
19
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
14 octobre 2008
-
Messages postés
19
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
14 octobre 2008
-
Bonjour à toutes et à tous


 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>


Je débute en VBA et j’aurais besoin d’aide pour réaliser une fonction « RECHERCHER ».


Tout d’abord j’ai créé un bouton sur une « feuil » et j’ai créé un USERFORM avec un textbox et un bouton ANNULER et un bouton VALIDER.


 


Je décrit mon tableau EXCEL.


 


J’ai une base de donnée qui se trouve sur la « feuil2 » et qui commence à la colonne A et fini a colonne E. Dans les cellules A1 à E1 se trouvent l’intitulé de mes colonnes.


 


Je voudrais réaliser un programme qui :


-         me rechercherai la valeur saisie dans le textebox dans la colonne B.


-         qui chercherai tout les mot commençant par la valeur saisie dans le textbox


-         que la recherche se boucle


 


Pour les condition et les messages  je pense pouvoir y arriver tout seul.


 


Je vous remercie par avance de l’attention que vous porterez à ma demande.


 


Cordialement.

4 réponses

Messages postés
5
Date d'inscription
mercredi 24 août 2005
Statut
Membre
Dernière intervention
19 mai 2009

tu peux commencer avec ça :
Ce code marche s'il n'y a pas de cellule vide entre les données de ta colonne B.

if activecell.value = textbox1.value then
    i=activecell.row
else
    i=1
end if

do while cells(i,2).value <> ""
    if cells(i,2).value like textbox1.value & "*" then
       cells(i,2).select
       exit do
    end if
    i=i+1
loop
Messages postés
82
Date d'inscription
vendredi 2 avril 2004
Statut
Membre
Dernière intervention
8 juillet 2012
1
'Bonjour,
'je propose une solution sans boucle, pour plus de rapidité




If Sheet(2).FilterMode = True Then
    Sheets(2).ShowAllData
End If
'on applique notre filtre
Sheets(2).Range("A1").AutoFilter criteria:=textbo1.Text
Sheets(2).Activate
'filtré
'on sélectionne les données visibles
Sheets(2).Range("1:65535").SpecialCells(xlCellTypeVisible).Select
'on les copie
Selection.Copy
'on les colle sur notre feuille de data interne
ActiveSheet.Paste Destination:=Sheets(1).Range("A1")
       
'relx62
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
125
Salut,

Si tu fais du VBA, pourquoi tu poste dans le forum VB6 ???

Je déplace vers le forum approprié !
______________________________________
DarK Sidious
Messages postés
19
Date d'inscription
jeudi 23 août 2007
Statut
Membre
Dernière intervention
14 octobre 2008

Merci à tout les deux pour ces réponses et excusez moi de vous répondre si tard mais
le programme m'était un peu sortie de la tete. lol !!!

Merci encore.