Affichage plusieurs données selon le meme texte en colonne A dans userform

Bonjour à tous,

Selon le fichier excel "TEST" joins à ce sujet, je cherche le moyen d'afficher dans un Userform une série de données selon la saisie d'un nom correspondant à une base de donnée (colonne A). Quel code dois-je insérer pour que lorsque je saisie "DUPONT" par exemple, alors apparait dans l'Userform toute les données des lignes commençant par DUPONT. Un genre de liste d'historique en fait.

De plus, je souhaiterai pouvoir faire la somme des points (colonne D) de ce DUPONT toujours dans l'Userform.

Comment dois-je proceder ?

Merci par avance.

6test.xlsx (10.28 Ko)

Avec le bon fichier TEST, ça va mieux !!

6test.xlsm (17.98 Ko)

Bonjour,

Je vois ce que tu veux faire et comment tu veux le faire, mais je ne sais pas si tu souhaites une solution mâchée ou non, je vais partir sur l'idée que tu souhaites arriver à la solution par toi même, je vais donc te donner des pistes pour faire ce que tu souhaites.

Tu vas donc avoir une TextBox dans laquelle tu vas taper le nom de famille de la personne, à chaque changement dans cette TextBox, tu vas lancer un code mettant à jour une ListBox, il faudra donc réinitialiser ta ListBox à chaque fois, puis parcourir ta base de données le plus rapidement possible en cherchant ce nom de famille, à chaque ligne qui correspondera, tu pourras ajouter les données à ta ListBox, et en même temps, il faudra enregistrer quelque part le total de points pour ensuite le mettre dans le contrôle qui l'affichera, ou directement initialiser le contrôle et ajouter les points au fur et à mesure

Ce dont tu vas avoir besoin pour gérer la ListBox:

ListBox.ColumnWidths : pour gérer la largeur des colonnes

ListBox.ColumnCount : gérer le nombre de colonnes

ListBox.Clear : vider la ListBox

ListBox.AddItem elementÀAjouter : ajouter une valeur sur une nouvelle ligne à la première colonne

ListBox.List(ligne, colonne) = maValeur : ajouter une valeur sur une ligne existante à une colonne précise

Pour chercher ta valeur tu peux enregistrer ta base de données dans un tableau de cette façon:

dim derLig
dim tableau as Variant

With Sheets("bdd")
    derLig = .Range("a" & Rows.Count).End(xlUp).Row
    tableau = .range("a2", "d" & derLig)
End With

Ensuite tu fais simplement une boucle du type:

For i = LBound(tableau,1) to UBound(tableau,1)
    'du code
Next i

Pour la recherche, je t'encourage à regarder ce sujet où j'ai déjà tout expliqué : https://forum.excel-pratique.com/viewtopic.php?f=2&t=122978&p=751519#p751519

Tu auras ainsi différentes solutions à ta disposition

Bonne lecture!

Merci Ausecour pour ces éléments.

En fait je préfère les deux, je m'explique.

Le fichier TEST n'est qu'un exemple simplifié du réel fichier à faire évoluer qui contient beaucoup plus de colonnes et de ligne que celui-ci, parmis ces colonnes certaines seront utilisées et d'autres non pour créer un aperçu d'historique ! Donc j'aurais souhaité un "travail maché" pour cet exemple que j'adapte ensuite par moi même à mon réel fichier !

Je vais essayé d'appliquer ce que tu m'indiques et on verra bien si j'y arrive !

Merci encore ...

Re, d'accord!

Tu me diras si tu bloques

Rechercher des sujets similaires à "affichage donnees meme texte colonne userform"