USF Recherche intuitive

jorisphi

XLDnaute Occasionnel
Bonjour à tous,

Je me suis inspiré de la recherche intuitive de J. Boisgontier
Ses codes sont écrits avec une base de données commençant à la Ligne 1

Tandis que dans ma BD, mes données commencent à la ligne 2
Etant débutant en VBA, Je n'arrive pas à corriger mes codes

Je vous remercie d'avance pour votre aide
Cordialement
Jorisphi
 

Pièces jointes

  • Recherche intuitive (v1).zip
    20.7 KB · Affichages: 48
  • Recherche intuitive (v1).zip
    20.7 KB · Affichages: 45
  • Recherche intuitive (v1).zip
    20.7 KB · Affichages: 46

Macpoy

XLDnaute Impliqué
Re : USF Recherche intuitive

bonjour le forum, jorisphi
voir si la modif vous convient
 

Pièces jointes

  • Recherche intuitive (v1).zip
    20.6 KB · Affichages: 71
  • Recherche intuitive (v1).zip
    20.6 KB · Affichages: 66
  • Recherche intuitive (v1).zip
    20.6 KB · Affichages: 68

jorisphi

XLDnaute Occasionnel
Re : USF Recherche intuitive

Bonjour Macpoy
Merci pour votre réponse rapide

Oui, cela me convient
Les titres ne s'affichent plus dans ma listBox

Cependant j'aimerai aussi que ces titres s'affichent au-dessus de ma Listbox comme chez JB, et avoir possibilbité de les trier en cliquant dessus

Grand merci pour votre aide
Jorisphi
 

Macpoy

XLDnaute Impliqué
Re : USF Recherche intuitive

re,
cela se passe ici voir couleur rouge

Private Sub UserForm_Initialize()
Set f = Sheets("création")
nbcol = f.[A2].CurrentRegion.Columns.Count
Me.ListBox1.ColumnCount = nbcol
Set plage = f.[A2].CurrentRegion
Set plage = plage.Resize(plage.Rows.Count - 1)
Me.ListBox1.List = plage.Value
i = 1
x = 15
For i = 1 To nbcol
retour = Me.Controls.Add("Forms.Label.1", "Label" & i, True)
Me("label" & i).Caption = f.Cells(1, i)
Me("label" & i).Top = 45
Me("label" & i).Left = x
x = x + f.Columns(i).Width * 1.1
temp = temp & f.Columns(i).Width * 1.1 & ";"
Next
Me.ListBox1.ColumnWidths = temp
For b = 1 To nbcol: Set Lbl(b).GrLabel = Me("Label" & b): Next b
End Sub
Private Sub Textmot_Change()
Me.ListBox1.Clear
i = 0
Set plage = f.[A2].CurrentRegion
Set plage = plage.Offset(2).Resize(plage.Rows.Count - 1)
Set c = plage.Find(Me.Textmot, , , xlPart)
If Not c Is Nothing Then
premier = c.Address
Do
Me.ListBox1.AddItem
lig = c.Row - plage.Row + 1
For col = 1 To nbcol
Me.ListBox1.List(i, col - 1) = plage.Cells(lig, col)
Next col
i = i + 1
Set c = plage.FindNext(c)
Loop While Not c Is Nothing And c.Address <> premier
End If
End Sub
 

jorisphi

XLDnaute Occasionnel
Re : USF Recherche intuitive

Re Bonjour Macpoy

Désolé, j'ai chargé ton code
Mais je n' y arrive pas
C'est toujours la même chose
Fausse manoeuvre de ma part ?
Je te joins mon fichier modifié en annexe

Merci pour ton aide précieuse
Cordialement
Jorisphi
 

Pièces jointes

  • Recherche intuitive (v3).zip
    19.2 KB · Affichages: 77

Macpoy

XLDnaute Impliqué
Re : USF Recherche intuitive

Re,
bon cette fois ci je crois que j'ai trouvé :

Private Sub UserForm_Initialize()
Set f = Sheets("création")
nbcol = f.[A2].CurrentRegion.Columns.Count
Me.ListBox1.ColumnCount = nbcol
Set plage = f.[A2].CurrentRegion
Set plage = plage.Offset(1).Resize(plage.Rows.Count - 1)
Me.ListBox1.List = plage.Value
i = 1
x = 15
For i = 1 To nbcol
retour = Me.Controls.Add("Forms.Label.1", "Label" & i, True)
Me("label" & i).Caption = Cells(2, i)
Me("label" & i).Top = 45
Me("label" & i).Left = x
x = x + f.Columns(i).Width * 1.1
temp = temp & f.Columns(i).Width * 1.1 & ";"
Next
Me.ListBox1.ColumnWidths = temp
For b = 1 To nbcol: Set Lbl(b).GrLabel = Me("Label" & b): Next b
End Sub
 

Discussions similaires

Réponses
8
Affichages
270

Statistiques des forums

Discussions
312 520
Messages
2 089 272
Membres
104 083
dernier inscrit
hecko