VBA - probleme sur listebox

Fermé
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013 - Modifié par polsak_diane le 25/06/2013 à 11:12
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 24 juil. 2013 à 19:39
Bonjour,
Voilà j'ai un fichier avec une liste de produits, j'aimerai que sur une autre feuille je puisse faire une recherche "simplifiée" c'est à dire quand je clic sur la commandbox "ELECTRICITE" qu'il apparaisse dans la listebox du dessous la plage que j'ai nommée "ELECTRICITE" qui se trouve sur ma feuille "code_produits", ça c'est une premiere chose.
En second, j'aimerai faire une recherche par mot clef par le biais de mon TextBox1 mais ma formule VBA ne fonctionne pas...
Pourriez vous m'aidier...
Cordialement,
Ci dessous mon fichier
https://www.cjoint.com/?0FzllddbsNi

22 réponses

f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
25 juin 2013 à 11:08
Bonjour,

pour joindre un fichier click sur le lien suivant https://www.cjoint.com/

Ne pas oublier de copier/coller le lien cree dans votre prochain message
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
25 juin 2013 à 11:11
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
25 juin 2013 à 12:24
Re,

testez et rendez compte svp

https://www.cjoint.com/?CFzmxEQepY0

A+
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
25 juin 2013 à 14:21
oui ca fonctionne pour la recherche par mot clef mais les commandbox ne fonctionnent pas
0
Bonjour
voila une ListView
ses plus jolie
a toi de voir

http://cjoint.com/?3FzmLMIKTLG

A+

Maurice
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
25 juin 2013 à 14:20
Merci mais ca ne marche pas "impossible de charger l'objet car il n'est pas disponible sur cette machine"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
25 juin 2013 à 16:38
Re,

commandbox est-ce-que par hazard ce serait les boutons de commandes ????
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
25 juin 2013 à 16:42
oui c ça
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
25 juin 2013 à 17:13
Re,

listbox remplie par boutons de commnde ou mot cles

https://www.cjoint.com/?CFzrnbvnX43
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
26 juin 2013 à 09:06
c'est exactement ça, merci beaucoup !!! juste une dernière question comment jepeux gérer la largeur des colonnes dans la listbox?
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
26 juin 2013 à 09:14
je viens de rajouter des lignes à ma liste de produits dans le 1er onglet mais quand je clic sur un bouton de commande il m'indique cette erreur en jaune dans le VBA (je l'ai souligné dans le texte ci dessous)
Sub Recherche_par_objets(Objet As String)
Dim Lmax, V, plage As Range, cel, col

Sub Recherche_par_objets(Objet As String)
    Dim Lmax, V, plage As Range, cel, col
    
    With Worksheets("code_produits")
        ListBox1.Clear
        Lmax = .Range("A" & Rows.Count).End(xlUp).Row
        Set plage = .Range("A2:A" & Lmax)
        For Each cel In plage
            If cel = Objet Then
                ListBox1.AddItem cel
                For col = 1 To ListBox1.ColumnCount
                    ListBox1.List(ListBox1.ListCount - 1, col) = cel.Offset(, col).Value                Next col
            End If
        Next cel
    End With
End Sub
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
Modifié par f894009 le 26/06/2013 à 11:36
Bonjour,

Quelle erreur ????

'largeur Colonnes pour 8 colonnes, adaptez la largeur en modifiant le nombre de pt de la colonne
ListBox1.ColumnWidths = "50 pt;50 pt;75 pt;50 pt;60 pt;75 pt;50 pt;75 pt"
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
26 juin 2013 à 15:30
ok pour les largeur de colonnes. Par contre toujours l'erreur sur la ligne
ListBox1.List(ListBox1.ListCount - 1, col) = cel.Offset(, col).Value


de la recherche par objet dès que je clic sur un bouton de contrôle je vous laisse constater sur le fichier joint.
https://www.cjoint.com/?3FApEEEmeUj
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
26 juin 2013 à 15:43
Re,
Je regarde le probleme.

A+
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
26 juin 2013 à 16:08
Re,

Oblige de changer de methode, pas grave, il y en a pas plusieurs.

Sub Recherche_par_objets(Objet As String)
    Dim Lmax, V, plage As Range, cel, col, lig, tableau()
    
    With Worksheets("code_produits")
        ListBox1.Clear
        Lmax = .Range("A" & Rows.Count).End(xlUp).Row
        Set plage = .Range("A2:A" & Lmax)
        ReDim tableau(Lmax, ListBox1.ColumnCount)
        lig = 0
        For Each cel In plage
            If cel = Objet Then
                tableau(lig, 0) = cel
                For col = 1 To ListBox1.ColumnCount
                    tableau(lig, col) = cel.Offset(, col)
                Next col
                lig = lig + 1
            End If
        Next cel
        ListBox1.List = tableau
    End With
End Sub


A+
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
26 juin 2013 à 16:32
Re,

Refait essais avec premiere methode, plus d'erreur sans modifier quoi que ce soit ????

Prenez la deuxieme methode.
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
26 juin 2013 à 17:15
https://www.cjoint.com/?3FArnzIcKq4

oui ca fonctionne par contre j'ai certains boutons de commande qui ne fonctionnent pas et là je ne comprends pas ou est mon erreur???
Une autre question, est il possible d'avoir la colonne "designation " de ma listbox sur 2 lignes pour que tout soit lisible car tout ne tiens pas sur une ligne?

Merci encore pour votre aide
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
26 juin 2013 à 17:16
je vous ai joint le fichier
https://www.cjoint.com/?3FArnzIcKq4
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
26 juin 2013 à 17:31
Re,

boutons de commande qui ne fonctionnent pas normal.

dans Sub Recherche_par_objets(Objet As String)

remplacez:

If cel = Objet Then

par

If cel Like Objet & "*" Then


colonne "designation " sur deux lignes, a voir, j'ai une idee a creuser

A+
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
26 juin 2013 à 20:01
Re,

Bouton LEM ?????

colonne designation sur plusieurs lignes (decoupage pas top)

https://www.cjoint.com/c/CFAt7Tbhdfi

A+
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
27 juin 2013 à 10:31
j'ai modifiéle nom de la plage et ca fonctionne pour la commande "LEM". Par contre pourriez vous regarder mon fichier, j'ai apporté des modifs pour que se soit plus lisible. J'aimerai que lorsqu'on clique sur une ligne de la listbox les infomations apparaissement dans les labels correspondants à mes colonnes de la feuille "code_produits" est-il possible de faire ça? peut-être il faut utiliser autre chose que des labels?
Merci
https://www.cjoint.com/?3FBkFBLkpH9
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
Modifié par f894009 le 27/06/2013 à 11:30
Bonjour,

Des labels, cela convient parfaitement. Peut-etre pas besoin des decouper la designation, car beaucoup de modif pour memoriser les infos?? Vous decidez et je fais

A+
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
27 juin 2013 à 11:30
si je suis obligée de mettre la désignation sur plusieurs lignes pour avoir le contenu complet de ma cellule même si c'est pas très esthétique ! il faudrait également que cela fonctionne pour la recherche par mot clef.
Merci beaucoup pour votre aide
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
Modifié par f894009 le 27/06/2013 à 11:51
Re,

Pas de probleme avec designation sur plusieurs lignes, presque fini. Pour Mot cles, a cogiter, pas prevu de decouper la designation .

A+
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
27 juin 2013 à 12:08
Re,

sans decoupe designation sur mot cles

https://www.cjoint.com/?CFBmh2cmIOz

A+
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
27 juin 2013 à 12:12
c'est vraiment top !! par contre je ne comprend pas " sans découpe.."
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
27 juin 2013 à 12:22
Re,

quand vous choisissez un mot cle, la designation s'affiche sur une seule ligne, pas sur x lignes comme le choix des boutons
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
27 juin 2013 à 13:30
quand je tape un mot clef, la recherche fonctionne bien, quand j'efface mon mot clef et que je clic directement sur la listbox il me fait un message d'erreur...
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
27 juin 2013 à 18:35
Re,

dans sub init()

mettre un 8 au lieu du 3

ListBox1.List = Worksheets("code_produits").Range(Cells(2, 1).Address, Cells(Lmax, 8).Address).Value
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
3 juil. 2013 à 15:59
Re,
Comment puis-je paramétrer mon classeur pour qu'il s'ouvre directement sue la feuille 3 de recherche?

merci
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
3 juil. 2013 à 17:13
Re,

Private Sub Workbook_Open()
Worksheets("feuil3").Activate
End Sub


A+
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
16 juil. 2013 à 11:37
Bonjour,
J'ai une nouvelle demande après avoir lu plusieurs forum il semblerait que c'est plus facile d'utiliser une listview?? j'ai inséré une listview en dessous de ma listbox pour faire un essai avant de supprimer ma listbox, mais je ne comprends pas comment la paramétrer pour avoir les meme fonction que ma listbox??
Un grand merci pour votre aide très précieuse !

https://www.cjoint.com/?3GqlKXeJXyf
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
16 juil. 2013 à 11:43
Bonjour,

je regarde cela cette apres-midi.

A+
0
Bonjour

utilise le CodeName de la feuil

Private Sub Workbook_Open()
Feuil3.Select
End Sub

A+

Maurice
0
Bonjour
Pour la 2eme fois voici une listeView
A toi de jouer


http://cjoint.com/?CGqmAVupkps

A+

Maurice
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
16 juil. 2013 à 13:48
Bonjour,

Ne desesperez pas, cette fois-ci, vous serez peut-etre "entedu"

Bye
0
polsak_diane Messages postés 20 Date d'inscription mardi 25 juin 2013 Statut Membre Dernière intervention 24 juillet 2013
16 juil. 2013 à 14:07
ça ne fonctionne pas il m'indique une "erreur de compilation, projet ou bibliothèque introuvable"
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
16 juil. 2013 à 14:29
Re,

ce doit etre le chemin du composant listview qui n'est pas le bon. Quel OS avez-vous (XP, W7 32bits ou 64bits, W8 32bits ou 64bits ou ...) ???
0
Polsak_diane
16 juil. 2013 à 14:55
Xp
0
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 1 713
16 juil. 2013 à 15:04
Re,

Dans votre fichier d'origine, il y a une listview. Recopier tout le code du fichier de foo dans le vba de votre fichier d'origine en modifiant les noms des objets si nécessaire.

essayez et rendez compte svp

A+
0
Bonjour,

regarde sur:
http://forum.excel-pratique.com/excel/probleme-avec-petite-macro-t28865.html

tu doit touver ta solution pour "erreur de compilation, projet ou bibliothèque introuvable"

on ses pas quelle version excel ?
pour ton XP il faut etre en service Pack(SP6)

A+

Maurice
0