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

Comment contourner la Limite de la Listbox

  • Initiateur de la discussion Initiateur de la discussion Geely
  • Date de début Date de début

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 !

Geely

XLDnaute Occasionnel
Bonsoir le Forum

Voici un petit fichier ou je lance une ouverture d'une ListBox ou j'affiche le résultat d'une recherche. Le problème
est qu'il y a une limite sur le nombre possible de colonne dans la ListBox.

dans l'exemple, si je fais un recherche sur "pierre" je ne peux pas afficher tous les résultats.

Comment puis je contourner le problème? et ainsi pour tout afficher.

Geely
 

Pièces jointes

Dernière édition:
Re : Comment contourner la Limite de la Listbox

bonsoir tous
pas trop regarde ton fichier mais tu devrais pas avoir de pb.. pour afficher 54 colonnes

exemple
dans proprietées de ta listbox columnCount tu mets 54
tu mets des donnees de a7 a bb54

Code:
Private Sub userform_initialize()
ListBox1.List = Range("a7:bb7").Value
End Sub
tu vas voir que tu as 54 colonnes dans la box vu que tu utilise .list

autrement regarderais ton pb demain si pas de reponse cela a l'air bien simple!!
mais plus le temps
 
Re : Comment contourner la Limite de la Listbox

Bonjour à tous et merci pour vos réponses

Laetitia90 ta solution fonctionne bien. j'obtiens bien tous mes résultats.

Boisgontier merci les liens, il y beaucoup d'informations intéressantes. Je tente d'adapter ta solution mais j'ai du mal a récupérer les noms de la première ligne (nom= Dupont date début = 12/12/12 facture=(00200) ect)

Geely
 
Re : Comment contourner la Limite de la Listbox

re tous 🙂

je verrais bien un "truc " dynamique

cela evite si pas present dans la liste & les occurences a traiter ect...

Code:
Option Compare Text
Dim t(), t1(), x As Long, k As Long, i As Long, z
Private Sub TextBox1_Change()
  On Error Resume Next
  If TextBox1 = "" Then ListBox1.Clear: Exit Sub
  t = Range("e1:bb" & Cells(Rows.Count, 5).End(xlUp).Row).Value
  x = 1
  For i = 1 To UBound(t)
  If Left(t(i, 1), Len(TextBox1)) = Left(TextBox1, Len(TextBox1)) Then
  z = t(i, 1): t(i, 1) = t(i, 2): t(i, 2) = z
  ReDim Preserve t1(1 To 50, 1 To x)
  For k = 1 To 50
  t1(k, x) = t(i, k)
  If k > 2 Then
  If t(i, k) = "" Then t(i, k) = 0
  t1(k, x) = t(1, k) & "  =" & t(i, k)
  End If: Next k: x = x + 1: End If:  Next i
  ListBox1.Column = t1
End Sub

ps en debut de code oublie vider tableau peut poser pb... Erase t, t1

Private Sub TextBox1_Change()
On Error Resume Next
Erase t, t1
If TextBox1 = "" Then ListBox1.Clear: Exit Sub
ect...
 

Pièces jointes

Dernière édition:
Re : Comment contourner la Limite de la Listbox

Bonsoir à tous

Bien vu le "truc" en dynamique Laetitia, je vais essayer avec de une feuille de 65000 lignes voir si cela ne pose pas de problème.

Geely
 
Re : Comment contourner la Limite de la Listbox

re tous🙂

sur 3250000 cellules cela va poser un pb... lenteur on peut essayer de faire quelque chose avec
find ou filtre eventuellement avec Dictionary si tes N° id sont unique en attendant!!!!!
 
Re : Comment contourner la Limite de la Listbox

Bonsoir à le Forum

Laetitia90, Hélas mes numéros id ne sont pas unique.
J'ai donc beaucoup de lenteur, ta première solution me convient très bien, et solutionne parfaitement mon problème.

Une autre question, peut être devrai je ouvrir un autre poste,mais bon.
Après la recherche dans la Listbox je souhaite que lorsque l'on clic sur une des lignes des résultats de la recherche une deuxième fenêtre s'ouvre avec les 10 identités de la feuilles contrôles entourant la date et heure (au plus près) du résultat sélectionné.
Pas simple a expliquer clairement, donc voici un petit fichier joint avec une première ébauche


Geely
 

Pièces jointes

Dernière édition:
Re : Comment contourner la Limite de la Listbox

Bonjour à tous

Je pense qu'il faut prendre la date de la ligne sélectionnée, rechercher la date et heure la plus proche dans la feuille Contrôle et afficher les 5precedents et suivants.

Geely
 

Pièces jointes

- 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
1
Affichages
338
wDog66
W
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…