VBA - probleme sur listebox
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
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
- 1
- 2
Le problème porte sur une mise en œuvre VBA : cliquer sur la commandbox 'ELECTRICITE' doit afficher dans une ListBox la plage nommée sur la feuille 'code_produits', et la recherche via TextBox1 ne fonctionne pas. Des répondants recommandent d’intégrer l’intégralité du code VBA d’un fichier source et d’adapter les noms des objets dans le vôtre, notamment si une ListView est utilisée pour afficher la plage nommée. D'autres conseils évoquent l'utilisation du nom de CodeName de la feuille et des corrections dans l'initialisation, par exemple en ajustant les indices et les plages dans ListBox1.List. En pratique, il faut aussi vérifier que la plage nommée et le nom de la feuille sont cohérents entre les classeurs.
-
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 -
-
-
Bonjour
voila une ListView
ses plus jolie
a toi de voir
http://cjoint.com/?3FzmLMIKTLG
A+
Maurice -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Re,
commandbox est-ce-que par hazard ce serait les boutons de commandes ???? -
-
-
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
-
-
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"-
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 -
-
-
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+ -
Re,
Refait essais avec premiere methode, plus d'erreur sans modifier quoi que ce soit ????
Prenez la deuxieme methode. -
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-
je vous ai joint le fichier
https://www.cjoint.com/?3FArnzIcKq4 -
-
-
Re,
Bouton LEM ?????
colonne designation sur plusieurs lignes (decoupage pas top)
https://www.cjoint.com/c/CFAt7Tbhdfi
A+ -
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 -
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+ -
-
Re,
Private Sub Workbook_Open()
Worksheets("feuil3").Activate
End Sub
A+-
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 -
-
-
Bonjour
utilise le CodeName de la feuil
Private Sub Workbook_Open()
Feuil3.Select
End Sub
A+
Maurice -
Bonjour
Pour la 2eme fois voici une listeView
A toi de jouer
http://cjoint.com/?CGqmAVupkps
A+
Maurice -
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 ...) ??? -
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+ -
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
- 1
- 2