VBA Formulaire de recherche

valou0202

XLDnaute Nouveau
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

  • essai form recherche article commandé.xls
    504 KB · Affichages: 48
  • essai form recherche article commandé.xls
    504 KB · Affichages: 67
  • essai form recherche article commandé.xls
    504 KB · Affichages: 66

Bebere

XLDnaute Barbatruc
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
 

valou0202

XLDnaute Nouveau
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
 

valou0202

XLDnaute Nouveau
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
 

Bebere

XLDnaute Barbatruc
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

  • essai form recherche article commandé.xls
    519 KB · Affichages: 61
  • essai form recherche article commandé.xls
    519 KB · Affichages: 65
  • essai form recherche article commandé.xls
    519 KB · Affichages: 61

valou0202

XLDnaute Nouveau
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
 

Bebere

XLDnaute Barbatruc
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)
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Code de tri
Réponses
22
Affichages
404
Réponses
18
Affichages
752
Réponses
5
Affichages
392

Statistiques des forums

Discussions
312 489
Messages
2 088 851
Membres
103 974
dernier inscrit
chmikha