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!