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

VBA Formulaire de recherche

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

V

valou0202

Guest
Bonjour a tous!

Après avoir regardé sur le forum, j'ai essayé un code qui me convenait pour ma recherche d'article commandé mais cela ne fonctionne pas sur mon fichier, il ne me prend pas toute ma ligne dans la listBox

Mon formulaire se trouve dans l'onglet BDcom

Merci par avance
 

Pièces jointes

Re : VBA Formulaire de recherche

bonjour valou
bienvenue

Code:
Private Sub TextBox1_Change()
Dim Plage As Range, cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Long, N As Long
Dim C As Range
ListCommandes.Clear
N = 0
Recherche = TextBox1.Value
Range("D2").Select
Ligne = Sheets("BDcom").Range("A" & "65536").End(xlUp).Row
Set Plage = Sheets("BDcom").Range("A2:" & "J" & Ligne)
With Plage
Set C = .Find(Recherche, , xlValues, xlPart)
If Not C Is Nothing Then
Adresse = C.Address
Do
' If UCase(Recherche) = UCase(Left(C, Len(Recherche))) Then
          ListCommandes.AddItem
         N = ListCommandes.ListCount - 1
        ListCommandes.List(N, 0) = C
        ListCommandes.List(N, 1) = C.Offset(0, -3)
        ListCommandes.List(N, 2) = C.Offset(0, -2)
  ListCommandes.List(N, 3) = C.Offset(0, -1)
      ListCommandes.List(N, 4) = C.Offset(0, 1)
      ListCommandes.List(N, 5) = C.Offset(0, 2)
       ListCommandes.List(N, 6) = C.Offset(0, 3)
        ListCommandes.List(N, 7) = C.Offset(0, 4)
'    End If
    Set C = .FindNext(C)
    Loop While Not C Is Nothing And C.Address <> Adresse
    End If
    End With
End Sub

Private Sub UserForm_Initialize()

    ListCommandes.ColumnCount = 8
    ListCommandes.ColumnWidths = "150;50;50;200;50;40;40;130"

End Sub
 
Re : VBA Formulaire de recherche

Bonsoir Bebere!

merci pour votre réponse, je viens d'essayer le code et je n'ai pas la m^me chose que dans le fichier que j'ai trouvé, je souhaiterai avoir dans ma listbox la ligne entière correspond à l'article que l'ont souhaite (celui que l'on saisi dans la textBox), pourriez-vous m'aider?

Merci et bonne soirée
 
Re : VBA Formulaire de recherche

Bonjour!!
Après avoir cherché ce qui n'allais pas j'ai enfin trouvé j'ai laissé Userform_Click() au lieu de initialize, maintenant ça fonctionne!! toutefois, si je me trompe et que j'efface cela me met une erreur et j'aurai aimé ne plus avoir ce message.

Merci pour votre aide!

Bonne journée
 
Re : VBA Formulaire de recherche

bonjour Valou
voilà le fichier avec le code du poste #2(ma réponse)
tu ferais mieux de mettre un fichier,comment veux tu que quelqu'un réponde à ta dernière demande
 

Pièces jointes

Re : VBA Formulaire de recherche

Merci Bebere!

Je vous remercie de votre réponse, il est vrai que j'aurai pu toute fois indiquer l'erreur! Seriez-vous comment je peux rajouter dans mon code une recherche par la première lettre seulement?

Merci pour votre aide!

Bonne soirée
 
Re : VBA Formulaire de recherche

tu changes cetteligne
Set C = .Find(Recherche, , xlValues, xlPart)
par
Set C = .Find(Recherche, , xlValues, xlwhole)
tu enlèves ' des 2 lignes en vert( If UCase(Recherche) = UCase(Left(C, Len(Recherche))) Then et End If)
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
  • Question Question
Réponses
5
Affichages
249
Didierpasdoué
D
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…