mais ou c'est-il donc ???

Nicko

XLDnaute Occasionnel
Bonjour à tous,

J'avais trouvé il y a quelques temps une macro permettant de faire une recherche "intelligente"

> A partir de la saisie dans une textbox, il y avait une selection automatique de la correspondance dans une listbox avec diminution des choix possible!!!
(je ne sais pas si c'est bien clair tout ca !)

Est-ce que cela dit quelque chose à l'un ou l'une d'entre vous ???

Si c'est le cas, je suis preneur d'un lien car pas moyen de formuler une recherche qui fonctionne :-o

C'est peut etre parce qu'il commence à etre tard ;-)

D'avance merci ...
 

Nicko

XLDnaute Occasionnel
Re : mais ou c'est-il donc ???

Bonjour à tous,

Merci pour votre aide, c'est tout à fait ce que je recherchais !

par contre j'aimerais apporter une modif a un code
(j'ai pris la solution de Boisgontier avec la recherche intuitive)

le code du bouton recup:
Private Sub B_recup_Click()
Sheets("Result").Cells.ClearContents
Sheets("Result").Range("A2").Resize(Me.ListBox1.ListCount, nbcol) = Me.ListBox1.List
For i = 1 To nbcol
Sheets("Result").Cells(1, i) = Me("label" & i).Caption
Sheets("Result").Cells(1, i).Font.Bold = True
Next
End Sub

J'aimerais que la fonction recup ne soit valable que pour la ligne sélectionnée dans la listbox.

Si quelqu'un peut m'aiguiller ...

D'avance merci
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : mais ou c'est-il donc ???

Bonjour,

Code:
Private Sub B_recup_Click()
  Sheets("Result").Cells.ClearContents
  Sheets("Result").Range("A2").Resize(, nbcol) = _
     Application.Index(Me.ListBox1.List, Me.ListBox1.ListIndex + 1)
  For i = 1 To nbcol
    Sheets("Result").Cells(1, i) = Me("label" & i).Caption
    Sheets("Result").Cells(1, i).Font.Bold = True
  Next
End Sub

http://boisgontierjacques.free.fr/fichiers/Formulaire/FormIntuitive42.xls

JB
 
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : mais ou c'est-il donc ???

Set plage = [MaBD].Resize(, 1)

Code:
Private Sub TextBox1_Change()
 Me.ListBox1.Clear
 i = 0
 Set plage = [MaBD].Resize(, 1)
 Set c = plage.Find(Me.TextBox1, , , 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

JB
 

Discussions similaires

Réponses
2
Affichages
324
Réponses
18
Affichages
722

Membres actuellement en ligne

Statistiques des forums

Discussions
312 413
Messages
2 088 199
Membres
103 763
dernier inscrit
p.michaux