Autres code barre dans textbox pour sélectionner ligne a afficher dans listbox

Chatron

XLDnaute Junior
Bonjour les amis qui m'avez beaucoup aidé à débuter en VBA
J'ai encore besoin de votre aide
Je suis toujours sous Excell 2000
J'ai une routine qui fonctionne dans plusieurs Userform, mais que je n'arrive pas à faire fonctionner sur cette sélection
Je m'explique et je joindrai un fichier :
j'ai un userform qui me permet d'enregistrer des titres d'ouvrage dans un autre classeur
L'enregistrement fonctionne,
la consultation du fichier fonctionne par "auteur", par "date de prêt", mais pas par "code barre"
Est ce parce que il y a des cases vides dans la colonne des codes barre ?
J'ai essaye de trier par code barre, mais je n'obtiens rien
Voici mon code:

VB:
Private Sub TbX_Douch_Change()
Dim A As Range
ListBox1.Clear
Windows("GdP_GdA.xls").Activate
Sheets("GdA").Select
 Range("E8").Select
    Range("E8:H65536").Sort Key1:=Range("E9"), Order1:=xlAscending, Key2:= _
        Range("F9"), Order2:=xlAscending, Key3:=Range("G9"), Order3:=xlAscending _
        , Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:= _
        xlTopToBottom, DataOption1:=xlSortTextAsNumbers, DataOption2:=xlSortNormal _
        , DataOption3:=xlSortNormal
    With ListBox1
        For Each A In Sheets("GdA").Range("E9:E" & Range("E65536").End(xlUp).Row)
            If A.Value = Me.TbX_Douch.Value Then
                .AddItem A(1, 1)
                .List(.ListCount - 1, 1) = A(1, 2)
                .List(.ListCount - 1, 2) = A(1, 3)
                .List(.ListCount - 1, 3) = A(1, 4)
            End If
        Next A
    End With

End Sub
Merci pour votre aide
 

Pièces jointes

  • GdP_GdA1.xls
    474.5 KB · Affichages: 13
  • userformJPG.JPG
    userformJPG.JPG
    91 KB · Affichages: 21
Solution
Bonjour Hervé
J'ai profité du passage de mon fils qui travaille dans l'informatique pour lui soumettre mon problème
comme il a l'habitude de la programmation il a pu voir la ou ça clochait (espions que je ne sais pas utiliser)
Par rapport au fichier test que tu m'avais envoyé et qui marchait alors que copié dans mon userform , il ne marchait pas il a constaté que le "c" de "Set c = Rng.Find" avait une valeur "As Variant" dans le test et était devenu "As Byte" chez moi
Il ajuste ajouté une boucle avant pour vérifier si c'est numérique et a remplacé le "c" par "cv"
Il pense qu'il doit y avoir un autre "c" dans une autre routine qui vient perturber ???
Je te joins ce qu'il a modifié
VB:
If Not IsNumeric(TbX_Douch.Value) Then
    'MsgBox...

TooFatBoy

XLDnaute Barbatruc
Il faudrait regarder si dans ton vrai fichier tu n'as pas une variable c définie en global.
j'ai trouvé la variable "c" déclaré "public" : elle utilisée dans un module qui gère les boutons d'un autre userfom (Archives)
Global ou Public, c'est caïman la même chose. ;)

Ca ne pouvait être que ça.
Tout est bien qui fini bien 👍
 

Chatron

XLDnaute Junior
Le problème c'est que le fichier complet est très volumineux : au moins 5 fois celui que j'avais mis en zip et donc difficile à ajouter en pièce jointe
Je ne trouve pas la balise résolu !! je vois bien à droite la balise "solution" que j'ai déja coché plus haut, mais je ne vois pas de balises vertes "résolu"

RESOLU
 

Discussions similaires

Statistiques des forums

Discussions
315 090
Messages
2 116 104
Membres
112 661
dernier inscrit
ceucri