mais ou c'est-il donc ???

  • Initiateur de la discussion Initiateur de la discussion Nicko
  • 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 !

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 ...
 
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
 
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:
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
 
- 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

F
Réponses
6
Affichages
796
FANNYDAURAT
F
I
Réponses
1
Affichages
852
I
Réponses
9
Affichages
1 K
K
  • Question Question
Réponses
13
Affichages
1 K
R
Réponses
1
Affichages
1 K
R
Réponses
7
Affichages
1 K
R
Réponses
7
Affichages
2 K
Retour