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

Recherche par mot

maval

XLDnaute Barbatruc
Bonjour,

Je suis à la recherche du code pour faire la rechercher des factures en sachant qu'il y a environ 1500 factures dans la feuille et il y a plusieurs factures du même nom.
Un fichier valant mieux qu'un long discours, veuillez voir la pièce jointe.

Par avance merci pour votre aide.
Cordialement

Maval
 

Pièces jointes

  • Recherche Facture.xlsm
    24.7 KB · Affichages: 49

maval

XLDnaute Barbatruc
Re : Recherche par mot

Bonjour Vgendron,

Oui afficher la liste des factures rechercher dans la ListBox et en DblClick dans ListBox1 et la factures rechercher afficher le résultat dans les textbox de l'USF

@+
Max
 

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

Re:
Voila
en attendant la suite ;-)

PS: j'ai nommé deux zones dynamiquement : Liste_Factures et Liste_Noms
ainsi. si tu rajouttes une ligne à la fin de ton tableau, les zones nommées se mettent à jour
J'ai renommé tous tes controles pour que ce soit plus facile à s'y retrouver:
LsBx_... pour ListeBox
TxBx_... pour TextBox
CmBx_.. pour Combobox
comme ca: tu sais de quel type de controle il s'agit. et ce que tu y mets dedans.. (mais bon. ca. c'est ma méthode: on peut ne pas aimer )

Suggestion d'amélioration: trier la liste des noms par ordre alphabétique..
 

Pièces jointes

  • Maval Recherche Facture.xlsm
    27 KB · Affichages: 43
  • Maval Recherche Facture.xlsm
    27 KB · Affichages: 48
  • Maval Recherche Facture.xlsm
    27 KB · Affichages: 46
Dernière édition:

grisan29

XLDnaute Accro
Re : Recherche par mot

bonjour Maval etles autres forumeurs

voici un fichier qui m'avais été concocté par Laetitia90,Fo_rum et Yann56 que je remercie beaucoup de leur compétences,
ce fichier utilise une listview mais peut etre pourra tu l'adapter

Pascal
 

maval

XLDnaute Barbatruc
Re : Recherche par mot

Re Vgendron,

Je te remercie et du code et d'avoir renommer tous tes contrôles Super juste une petite info j'ai changé le nom de la ainsi que les With Sheets("Facture Client") et a chaque fois j'ai un message d'erreur "l'indice n'appartient pas a l'application"

Code:
Private Sub UserForm_Initialize()
    Dim Cell As Range
     
    'Supprime les données existantes dans le ComboBox
    Me.CmBx_Noms.Clear
     
    'Boucle sur les cellules de la plage L2:L9232 pour
    'alimenter le ComboBox
    For Each Cell In Worksheets("Facture Client").Range("Liste_Noms")
        Me.CmBx_Noms = Cell
        'remplissage sans doublon
        If Me.CmBx_Noms.ListIndex = -1 Then _
            Me.CmBx_Noms.AddItem Cell
    Next Cell
End Sub

'sur sélection d'un nom, la liste des numéros de facture d'affiche

Private Sub CmBx_Noms_Change()
nom = CmBx_Noms.Value
Dim Plage As Range
Dim Tab1() As String
With Sheets("Facture Client")
    Set Plage = .Range("A6:R" & .Range("A65536").End(xlUp).Row)
End With
ReDim Tab1(1 To Plage.Count)
i = 1
For Each Cell In Plage
    
    If Cell.Offset(0, 4) = nom Then
            Tab1(i) = Cell.Offset(0, 3)
            i = i + 1
    End If
Next
LsBx_Factures.List = Tab1

End Sub

Private Sub LsBx_Factures_Click()
NumFact = LsBx_Factures.Value
With Sheets("Facture Client").Range("Liste_Factures")
    Set c = .Find(NumFact, LookIn:=xlValues)
    If Not c Is Nothing Then
        TxBx_Ref.Value = Cells(c.Row, 1)
        TxBx_Num.Value = Cells(c.Row, 2)
        TxBx_Date.Value = Cells(c.Row, 3)
        TxBx_NumFacture = Cells(c.Row, 4)
        TxBx_Nom = Cells(c.Row, 5)
        TxBx_Montant = Cells(c.Row, 18)
    End If
    
End With

End Sub

Pourquoi ?

Merci
@+
Max
 

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

Sans doute parce que soit: tu n'as pas mis exactement le meme nom entre la macro et l'onglet
soit....??
essaie avec un nom sans espace: FactureClient ou alors avec un espace (touche 8) Facture_Client
 

maval

XLDnaute Barbatruc
Re : Recherche par mot

Re,

Regarde sans mettre d'espace au nom sinon il faut que je change tous le reste ?

@+

Max
 

Pièces jointes

  • Copie de Maval Recherche Facture.xlsm
    29.5 KB · Affichages: 44

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

maval..........
C'est ce que je dis..tu ne mets pas le meme nom entre la macro et l'onglet.
prend le fichier joint ici: j'ai modifié la macro pour qu'elle prenne elle meme le nom de la feuille.. tu n'auras plus à modifier le code
 

Pièces jointes

  • Maval Recherche Facture.xlsm
    30.3 KB · Affichages: 44
  • Maval Recherche Facture.xlsm
    30.3 KB · Affichages: 40
  • Maval Recherche Facture.xlsm
    30.3 KB · Affichages: 35

maval

XLDnaute Barbatruc
Re : Recherche par mot

Re,

Re,

En mettant ceci:
Code:
NomFeuille = ActiveSheet.Name

Sa prend n’importe quel nom de feuille?

Je ne le savais pas ...! merci de l'info.

Sur le post4 tu me disais qu'il était possible de trier la liste des noms par ordre alphabétique

Suggestion d'amélioration: trier la liste des noms par ordre alphabétique..

Peut tu m'aider a faire cela?

Merci d'avance

Max
 

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

NomFeuille = ActiveSheet.Name

pas n'importe quelle feuille.. la feuille active au moment de l'instruction;
ici: quand tu cliques sur ton bouton USF: tu es dans la feuille "Facture Client"
par contre.. dans le futur, si jamais tu avais envie de déplacer ton bouton dans une autre feuille ("FeuilleTruc", par exemple)...la macro ne marcherait plus, puisque la variable NomFeuille serait initialisée avec le nom "Feuille Truc"
et forcément, les données ne seraient pas trouvées..
pour le tri. je regarde: Sans tout réinventer, je pense que ca doit pouvoir se trouver très facilement dans un autre fil
 

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

Voila.. avec le tri

avec un merci à Damien:
Ce lien n'existe plus
 

Pièces jointes

  • Maval Recherche Facture.xlsm
    32.3 KB · Affichages: 39
  • Maval Recherche Facture.xlsm
    32.3 KB · Affichages: 40
  • Maval Recherche Facture.xlsm
    32.3 KB · Affichages: 43

maval

XLDnaute Barbatruc
Re : Recherche par mot

Re,

Nickel je te remercie beaucoup.

Peut tu me dire pourquoi lorsque je prend le fichier complet avec les formules Decaler et tous le reste et que je le met dans le fichier final il me met comme message d'erreur:
"Erreur définie par l'application ou par l'objet" et " Un composant ActiveX ne peut pas créer un objet"

@+
Max
 

vgendron

XLDnaute Barbatruc
Re : Recherche par mot

Vérfies par exemple que lorsque tu copies tout dans ton fichier final, les références dynamiques (Liste_factures et Liste_Noms) gardent bien la meme expression: Peut etre qu'excel rajoutte la référence au classeur..?
ca doit etre comme ca: ni plus ni moins:
Code:
=DECALER('Facture Client'!$D$6;;;NBVAL('Facture Client'!$D:$D)-1;1)
=DECALER('Facture Client'!$E$6;;;NBVAL('Facture Client'!$E:$E)-1;1)

et avant que tu me demandes pourquoi " Banque Crédit Agricole" se trouve avant "Association"...
il y a un espace devant le B de Banque.. et l'espace. c'est avant le A ;-)
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…