Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro de récupération de données dans listebox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jopont

XLDnaute Impliqué
Bonsoir,

Dans la macro suivante je récupère dans une liste le nombre d'occurrence correpondant au nom tapé dans le textbox. Ces noms sont en colonne A sur ma feuille.

J'aimerais en fait récupérer dans la liste le nombre d'occurrence de la colonne C de ma feuille correspondant au nom tapé dans le textbox

Merci

Private Sub TextBox1_Change()

Dim WS As Worksheet
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Variant
Dim C As Object
ListBox1.Clear

Recherche = TextBox1
If Recherche = "" Then Exit Sub

For Each WS In Worksheets
Ligne = Worksheets(WS.Name).Range("" & "A" & "65536").End(xlUp).Row
Set Plage = Worksheets(WS.Name).Range("" & "A" & "2:" & "A" & Ligne)
With Plage
Set C = .Find(Recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
ListBox1.AddItem C
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
Next WS
End Sub
 
Re : macro de récupération de données dans listebox

Bonsoir jopont,

Ces noms sont en colonne A sur ma feuille.

J'aimerais en fait récupérer dans la liste le nombre d'occurrence de la colonne C de ma feuille correspondant au nom tapé dans le textbox

Je ne sais pas si vous avez remarqué, mais votre macro recherche en colonne A de toutes les feuilles...

Sinon pour rechercher en colonne C remplacer A par C dans ces lignes :

Code:
Ligne = Worksheets(WS.Name).Range("" & "A" & "65536").End(xlUp).Row
Set Plage = Worksheets(WS.Name).Range("" & "A" & "2:" & "A" & Ligne)

Edit : quand même, je ne peux pas laisser ça comme ça, ça me fait trop mal 😱 voici le code "normal" :

Code:
Ligne = WS.Range("A65536").End(xlUp).Row
Set Plage = WS.Range("A2:A" & Ligne)

A+
 
Dernière édition:
Re : macro de récupération de données dans listebox

je me suis peut-être mal exprimé.

Mais en fait la recherche se fait sur la colonne A.
En colonne C j'ai d'autre information.

Et c'est ces autres informtions que j'aimerais affichées en fonction du nom recherché colonne A.

En effet la recherche se fait sur toute les feuilles. J'aimerais également rechecrher sur une seule feuille.

Merci.
 
Re : macro de récupération de données dans listebox

Re,

est-ce possible ?

Vous plaisantez je suppose ??

Pour alimenter la ListBox avec les valeurs de la colonne C, il suffit de décaler la cellule nommée C de 2 cases à droite :

Code:
ListBox1.AddItem C.Offset(, 2)

Et si vous voulez travailler sur une seule feuille, supprimez la boucle For/Next 🙄

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…