Probleme programmation recherche intelligente SOUS EXCEL EN VBA

C49971

XLDnaute Nouveau
Bonjour,
Je souhaite réaliser une recherche intelligente sous VBA... Malheureusement, je rencontre quelques problèmes....

-1- L'une de mes combobox en cascade ne fonctionne pas (alimentation via dictionnaire).... => Pourtant j'utilise la même méthode que les trois autres...

-2- Je n'arrive pas à faire fonctionner ma fonction recherche à partir de mes combobox....
je souhaitai remplir une feuille "recherche" à partir des critères selectionnés dans mes combobox et des mots utilisés dans l'onglet "recherche"

Si vous avez des idées pour simplifier la partie recherche je suis preneur....

Par avance, merci...

Bonne journée..

Ps : le fichier est en annexe....

Ps2 : Pour celui qui trouve la solution, un tour de Kayak sur Lyon offert !!.... ;-)
 

Pièces jointes

  • Pt ecart 7.xlsm
    177.2 KB · Affichages: 70

Paritec

XLDnaute Barbatruc
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

Bonjour C49971 le forum
bon je n'aurai pas droit au tour de kayak, par contre toi tu vas avoir droit à des félicitations !!!!!
Tu nous mets un Userform Recherche2 avec le code pour un userform Recherche !!!!!!!!!!!!!!!
Donc là pas bon en plus tu as 12 combobox dont certaines n'ont pas les mêmes nom que les recherches que l'on va faire derrière!!
comment veux tu que l'on t'aide?? Si on peut, sauf qu'il faut tout refaire et moi là pas le temps
a+
Papou:)

En plus quand on voit le départ de ta recherche, avec deux espaces après "Resultat", ,puis la suppression d'une feuille pour en rajouter une du même nom, là aussi ????? !!!!!
Code:
Sheets("Resultat ").Select
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = "Resultat "
Sheets("Donnees").Select
c'est tout de même égal à
Code:
Sheets("Resultat").cells.clear
Sheets("Donnees").Select
Et encore à mon avis la deuxième ligne est inutile, car les select en vba c'est rarement utile!!!
 
Dernière édition:

C49971

XLDnaute Nouveau
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

Merci pour les conseils. J'ai effectivement modifié mes combobox et mes liens...
j'utilise une fonction tri pour trier ma base de données, ensuite, je copie le résultat dans une feuille "résultat"....

Cela fonctionne parfaitement, maintenant, je souhaiterai ajouter une fonction recherche via des mots clés rentrés par l'utilisateur....

J'ai trouvé la fonction rechercheV mais elle ne correspond pas à mon souhait...

Je souhaiterai une fonction recherche de type Google.... (on entre un mot via une combobox et la fonction recherche conserve uniquement les lignes de la feuille "résultat" qui s'approche au plus près du mot rentré par l'utilisateur (pas de prise en compte des accents, faute de frappe,...)...

Connais tu une fonction permettant de réaliser cette action ?

Par avance, merci pour l'aide
 

Iznogood1

XLDnaute Impliqué
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

Bonjour,

Les expressions régulières sont peut-être ton salut.
Tu devras ajouter une référence à Microsoft VBScript Regular Expressions 5.5
... et maîtriser la syntaxe des RegExp
 

Paritec

XLDnaute Barbatruc
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

Bonjour C49971 le forum
Voilà ton fichier en retour
Tu as un bouton dans la feuille résultat
tu cliques dessus tu tapes une recherche et tu me redis
tu as le résultat dans la listbox et aussi dans la feuille résultat
tu tapes n'importe quoi et tu auras les correspondances ( sauf que dans ton fichier les exemples n'en sont pas !!!)
ce n'est pas exactement ce que tu veux mais c'est très proche, a toi de tester (mais avec des données pas avec ce que tu as mis!!!)
a+
Papou:)

EDIT: pardon à tous ceux qui ont ouvert la version V1 mais le Bricoleur de C49971 qui mets des Affichages Plein écran et qui ne le précise pas dans son post !!!! bref c'est un petit rigolo, mais pas drôle du tout et comme son fichier merdique plantait à l'ouverture, je n'avais pas vu ayant désactivé les macros à l'ouverture.
Je me suis juste fait piéger en voulant modifier un peu son fichier et en ouvrant ma V1 Grrrrrrr........
 

Pièces jointes

  • C49971 V2.xlsm
    40.4 KB · Affichages: 54
Dernière édition:

C49971

XLDnaute Nouveau
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

Bonjour,
Merci pour ta réponse... et désolé du retard, ma boîte mail a classée le message d'alerte du forum en indésirable...

Du coup, j'ai réussi à me "dépatouiller"...La fonction recherche que j'ai créee est efficace, toutefois, je dois encore corriger la listbox....(j'ai un problème de lecture de variable sur une de mes colonnes....). Je vais utiliser ton fichier pour corriger ce problème..

Je passe le sujet en résolu.....


Pour ceux qui le souhaite, voici mon fichier en annexe...
 
Dernière édition:

C49971

XLDnaute Nouveau
Re : Probleme programmation recherche intelligente SOUS EXCEL EN VBA

fichier trop lourd.... 660 Ko..... Si vous souhaitez, je peux l'envoyer en MP...

Pour réaliser ma fonction recherche, j'ai :

Macro 1: Des combobox qui filtrent les lignes de ma base de données, ensuite ma macro "appelle" la fonction rechercheMotClé si un mot a été renseigné...
Code VBA appelle fonction :


'appeler la fonction recherche si un mot clé a été rentré
If RechercheMotCle <> "" Then
recherchemotscles
End If


Macro 2: Macro recherche appelée

Sub recherchemotscles()
'activer la page Base2 et filtrer la colonne 21 (description...) avec le mot clé (criteria1) n'importe où dans la cellule.

Sheets("base2").Activate
ActiveSheet.Range("$A$1 : $AH$3000").AutoFilter , field:=21, Criteria1:="=*" & RechercheMotCle.Value & "*"
End Sub



Ensuite, on revient sur la macro 1 et on copie les lignes filtrés (par les combobox et par la RechecheMotCle dans une feuille excel

RechercheMotCle = nom du bloc textbox
recherchemotscles = nom de la macro VBA qui recheche le mot clé...

Voilou....
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 370
Messages
2 087 688
Membres
103 639
dernier inscrit
NIEMASAFI