Macro pour afficher des données dans une listbox

Bonjour,

j'aurais besoin de votre aide pour m'aider à résoudre ce problème:

  • J'ai une base de données à 5 colonnes sur la feuille "TABLE".
  • Dans un formulaire vba, j'ai une textbox dans laquelle je rentre un mot à rechercher dans la colonne D
  • J'ai un bouton rechercher, qui en cliquant dessus, devrait m'afficher les lignes en lien avec le mot recherché dans ma listbox, sous forme de 4 colonnes (uniquement 4 colonnes, car je verrais plus tard comment présenter dans mon formulaire d'un côté la version française (colonne 4), et d'un autre la version anglaise (colonne 5)).
Mais présentement, rien ne s'affiche.

Je suis assez basique en VBA, et j'ai essayé de m'aider d'un code que j'utilisais dans un autre fichier, mais apparemment, je pense qu'il me manque des lignes essentielles, et j'en suis même pas conscient.

Bref, si vous aviez quelques minutes pour jeter un coup d'oeil à mon projet, ce serait fort sympathique et apprécié.

Pour faciliter la chose, je joins mon projet en pièce jointe. Merci.

Laurent.

Bonjour LaurentA le forum

Pourrais tu me donner l'explication de pourquoi 3 listbox superposée ????????

Oui je sais il n'y en a aucune, car c'est inutile, mais bon c'est toi qui l'a fait alors expliques nous le pourquoi de ta démarche!!

car tu dois bien l'avoir fait pour une bonne raison.

Ta recherche en utilisant les offset c’est pas le top si tu as une grande base de donnée, enfin réponds et on va modifier

a+

papou

Salut Papou,

j'ai finalement réussi à obtenir ce que je voulais. En fait j'ai normalement deux listbox, car je switche via un "optionbutton" d'une listbox à l'autre, l'une affichant une version en français, l'autre en anglais.

Mais là tout fonctionne bien.

Eventuellement, j'ai cherché un peu pour savoir si il etait possible de présenter ma recherche dans une listview, au lieu d'une listbox. Ca me semblait plus présentable, plus lisible, mais apparemment, on ne peut pas juste changer "listbox1" par "listview1" dans vba.

J'ai pris une chance mais ça parraissait trop facile!

Saurais-tu comment faire pour programmer la même chose, mais avec affichage en listview?

Merci.

Laurent.

Bonjour Laurent!A le forum

moi je veux bien te coder pour remplir une listview, mais quand je vois le bricolage de tes listbox superposée, je pense que tu ne vas pas t'en sortir.

si je fais cela je jette ton code et je recommence, par contre il faudrait m('expliquer en détail ce que tu souhaites obtenir dans tes recherche, car j'ai bien compris que tu as FR ou anglais, mais tu veux chercher un mot un bout de mot dans n'importe quel ordre?

enfin des explications sérieuses et on verra

Une listview c'est beaucoup plus compliqué, a remplir et à gérer, par contre oui c'est plus présentable c'est la seule qualité de la listview

a+

papou

Salut Papou,

voici la version que j'utilise présentement, et qui fonctionne bien, pour te donner un aperçu de ce que voulais obtenir.

La seule chose, pour laquelle je n'ai pas eu le temps encore de faire des recherches, c'est de savoir si on peut rentrer plusieurs mots dans la recherche, qui ne soient pas collés. Je suis pas sûr que ce soit possible, car vba, ce n'est pas google non plus.

Sinon pour les listview, pas sûr que ce soit utile de se casser la tête si c'est pas mal plus compliqué. Car ensuite, si j'ai besoin de modifier une info et que je ne comprends rien du tout au code, j'en serais pas capable.

Mais merci quand même. Tiens moi au courant si on peut modifier la textbox recherche pour entrer plusieurs mots.

Merci.

Bonsoir Laurent le forum

bon j'avais commencé à modifier ton fichier alors maintenant si tu tapes dans le textbox dupli toutes les lignes qui contiendront dupli vont venir se lister dans la listbox

regardes ouvres testes te redis moi

a+

papou

PS: il n'y a plus qu'une listbox

379laurent-a-v1.xlsm (231.46 Ko)

Re Laurent!A le forum

voilà une version 2 qui devrait répondre à tes souhaits

a+

papou

894laurent-a-v2.xlsm (234.15 Ko)

salut,

Est-il possible de supprimer les données sur le tableau en sélectionnant les lignes dans la listbox après avoir fait la recherche?

Bonjour othmane na le forum

vous voulez supprimer les lignes dans la feuille de donnée c'est cela?

si oui bien sur c'est possible

a+

Papou

Bonjours PAPOU,

oui c'est bien cela.

j'ai trouvé une partie du code ci-dessous, mais je voudrai récupérer le numéro de ligne de la feuille de donnée en sélectionnant sur la listbox pour supprimer ensuite.

Dim i As Integer

'avec la listbox

With ListBox1

'si aucun élément de la listbox n'est sélectionner, sortir de la macro

If .ListIndex = -1 Then Exit Sub

'pour i=le nombre d'élément de la listbox jusqu'à 0 avec un pas négatif de 1

For i = .ListCount - 1 To 0 Step -1

'si l'élément i es sélectionner

If .Selected(i) = True Then

'supprimer la ligne de la feuille de donnée dont le numéro se trouve en colonne 1 de l'élément sélectionner

Rows(Me.ListBox1.Column(1, i)).Delete

'désélectionne l'élément

.Selected(i) = False

'fin de condition

End If

'prochain élément de la listbox

Next i

'fin du travail avec la listbox

End With

End Sub

Bonjour othmane na le forum

tu peux passer ton fichier STP et je ferai les modifications

a +

Papou

Rechercher des sujets similaires à "macro afficher donnees listbox"