Recherche via Inputbox + ListBox + fonciton Like
Résolu
J.Wut
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
Bonjour à vous tous,
J'ai besoin d'un conseil concernant une tentative de code approximative.
Tout d'abord, j'ai un UserForm qui contient une ListBox du nom de "List_Equipment".
A l'activation de l'UserForm une InputBox stockée dans la variable "equipment" demande à l'utilisateur quel équipement ce dernier souhaite chercher dans le fichier Excel d'environ 65/70 lignes.
Le but est donc que s'affiche dans la liste le contenu de toutes les cellules qui possèdent l'expression utilisée dans l'inputbox et non son contenu EXACT, d'où l'utilisation de la fonction Like.
J'ai fait le test avec le code suivant :
Le test est en parti fonctionnel. Si j'indique le contenu exact d'une cellule, ce contenu est retranscris dans la liste. Toutefois, j'ai utilisé la fonciton LIKE justement pour que l'utilisateur n'ait pas à écrire le contenu exact. Et là HIC !
Dans mon fichier excel je vais avoir des distinctions de produits "Crew Mask" "Mask Assembly" "Cradle Assembly" "Oxygen Cylinder" etc. L'idée c'est que si mon utilisateur cherche un "Mask" il n'est pas à se taper les 70 lignes, mais seulement la dizaine qui contient l'expression "Mask" et l'utilisateur en question ne connaît pas forcèment le nom entier de ce qu'il cherche !
Pouvez-vous me venir en aide très chers internautes ?
Merci beaucoup à vous !
J'ai besoin d'un conseil concernant une tentative de code approximative.
Tout d'abord, j'ai un UserForm qui contient une ListBox du nom de "List_Equipment".
A l'activation de l'UserForm une InputBox stockée dans la variable "equipment" demande à l'utilisateur quel équipement ce dernier souhaite chercher dans le fichier Excel d'environ 65/70 lignes.
Le but est donc que s'affiche dans la liste le contenu de toutes les cellules qui possèdent l'expression utilisée dans l'inputbox et non son contenu EXACT, d'où l'utilisation de la fonction Like.
J'ai fait le test avec le code suivant :
Dim equipment As String
Dim ligne_nom As Integer
Dim ligne_liste As Integer
Dim ligne_nombre As Integer
List_Equipment.ColumnCount = 3
equipment = InputBox("Equipment", "Title")
For ligne_nombre = 3 To 70
If Sheets("Oxygen").Cells(ligne_nombre, 1).Value Like equipment Then
ligne_nom = Sheets("Oxygen").Cells(ligne_nombre, 1).Row
List_Equipment.AddItem
ligne_liste = List_Equipment.ListCount - 1
List_Equipment.List(ligne_liste, 0) = Sheets("Oxygen").Cells(ligne_nom, 1).Value
List_Equipment.List(ligne_liste, 1) = Sheets("Oxygen").Cells(ligne_nom, 2).Value
List_Equipment.List(ligne_liste, 2) = Sheets("Oxygen").Cells(ligne_nom, 3).Value
End If
Next
Le test est en parti fonctionnel. Si j'indique le contenu exact d'une cellule, ce contenu est retranscris dans la liste. Toutefois, j'ai utilisé la fonciton LIKE justement pour que l'utilisateur n'ait pas à écrire le contenu exact. Et là HIC !
Dans mon fichier excel je vais avoir des distinctions de produits "Crew Mask" "Mask Assembly" "Cradle Assembly" "Oxygen Cylinder" etc. L'idée c'est que si mon utilisateur cherche un "Mask" il n'est pas à se taper les 70 lignes, mais seulement la dizaine qui contient l'expression "Mask" et l'utilisateur en question ne connaît pas forcèment le nom entier de ce qu'il cherche !
Pouvez-vous me venir en aide très chers internautes ?
Merci beaucoup à vous !
A voir également:
- Recherche via Inputbox + ListBox + fonciton Like
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Voir like instagram - Guide
- Coco like - Accueil - Réseaux sociaux
- Recherche photo - Guide
en effet ça fonctionne tout de suite beaucoup mieux. Je ne connaissais pas cette subtilité. Merci pour ta réactivité, cela m'aide réellement beaucoup !
"*Mask*" signifiera "tout ce qui contient "Mask".
"Mask*" tout ce qui commence par "Mask", ...
Sans Joker, like est équivalent à =.