Problème d'affichage dans une ListBox
Bonjour à tous,
Je vous expose mon problème qui vous n'en sera pas un pour vous je pense. J'ai une base de donnée sur lequel on retrouve le N° de ligne, le NOM, PRENOM, TELEPHONE, N° de CDE, reçu le etc... J'ai ensuite un UserForm dans lequel j'ai une ComboBox, une TextBox et une ListBox. Au jour d'aujourd'hui lorsque que j'effectue une recherche dans la TextBox seul la recherche par NOM et PRENOM sont trouvés et affiché deans la ListBox, par contre si je cherche en fonction du N°, TELEPHONE ou N° de CDE, rien ne s'affiche. Si quelqu'un peu m'aider je l'en remercie par avance.
1 pièce(s) jointe(s)
Problème affichage Listbox
Citation:
Envoyé par
boisgontierjacques
Bonjour,
Exemple en PJ avec un pgm générique (s'adapte à la BD) : recherche intuitive multi-mots multi-colonnes.
Il suffit de copier/coller la BD.
Pièce jointe 526364
Boisgontier
Bonjour à tous,
J'ai une question courte (et la version longue et détaillée ci-dessous)
Qu'est-ce qui peut empêcher l'affichage de certains éléments d'une listbox ?
La version longue :
J'ai repris un des codes mis à disposition sur le site de Jacques (merci !) avec une base de données à moi, j'ai adapté ce qu'il fallait (ou presque sinon je ne serai pas là !) mais j'ai un problème d'affichage de ma listbox.
Le code d'initialisation du Userform et de la listbox liée:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Private Sub UserForm_Initialize()
Set f = Sheets("Références")
Set Rng = f.Range("A2:W" & f.[a65000].End(xlUp).Row)
Ncol = Rng.Columns.Count
X = 15
Y = Me.ListBox1.Top - 12
For I = 1 To Ncol
Set Lab = Me.Controls.Add("Forms.Label.1")
Lab.Caption = f.Cells(1, I)
Lab.Top = Y
Lab.Left = X + 5
X = X + f.Columns(I).Width * 0.5
temp = temp & f.Columns(I).Width * 0.5 & ";"
Next
Me.ListBox1.ColumnWidths = temp
'--
For I = 1 To Ncol
Set Lab = Me.Controls.Add("Forms.Label.1")
Lab.Caption = f.Cells(1, I)
Lab.Top = Me("textbox" & I + 1).Top - 18
Lab.Left = Me("textbox" & I + 1).Left
X = X + f.Columns(I).Width * 0.5
Next
'--
TblTmp = Rng.Value
For I = LBound(TblTmp) To UBound(TblTmp)
ReDim Preserve choix(1 To I)
For K = LBound(TblTmp) To UBound(TblTmp, 2)
choix(I) = choix(I) & TblTmp(I, K) & " * "
Next K
Next I
Me.ListBox1.List = Rng.Value
End Sub |
Le résultat de l'initialisation : la colonne 1 est bien affichée (en rouge car la listbox a été créée avec cette propriété) mais pas les autres colonnes....alors que tout marche parfaitement sur le fichier excel mis en ligne sur ton site. Cf ci-dessous :
Pièce jointe 583099
Merci beaucoup pour la réponse et désolé de ne pas trouver tout seul....