creation interface requete pour utilisateur

creation interface requete pour utilisateur - VB/VBA/VBS - Programmation

Marsh Posté le 17-03-2009 à 17:42:53    

Bonjour,
J'ai parcouru le forum en vue de trouver un sujet se rapprochant du mien en vain ou alors j'ai trouvé des solutions qui ne répondent que partiellement à mon problème.
 
Donc, voilà mon interrogation: comment créer une interface utilisateur pour questionner une base de données sous Excel.
 
Je travaille dans une petite structure au moyen limité et j'ai mis en place sous Excel une base de données assez complexe qui répertorie tous le fonds documentaire de notre centre de documentation. Sur cette même base, je fais moi même les tris lorsque j'ai besoin de faire certains bilan où lorsque l'on me demande des recherches assez poussées sur la base (j'utilise "Données >Filtrer > Filtre automatique" ! et en ce qui me concerne, ça me convient parfaitement. Sauf que mes collègues ne savent pas du tout utiliser Excelle et je ne suis pas tout le temps présente dans la structure. J'ai beau leur expliquer les méthodes de tris très simples et ils n'ont pas l'air de s'y faire.  
 
J'ai alors pensé à mettre en place une interface utilisateur simple (pas sur ma feuille de calcul qui les impressionne) où il 'y aurait qu'un formulaire de requête où ils pourront interroger la base de données. Avec plusieurs critères de recherche : auteur / date/ type de document/ thème (j'ai déjà un thésaurus dans ma base)/ etc
 
Ils n'auraient plus qu'à sélectionner leurs critères et la liste des informations correspondants à leurs recherche serait affichée....Quelqu'un peut-il m'indiquer la marche à suivre. Je tiens à préciser qu'il ne s'agit d'avoir un formulaire de saisie au contraire. Un formulaire de recherche plus ou moins ergonomique pour questionner la base. Un ami m'a dit que sous Excel/VBA je pourrais éventuellement trouver une réponse à mon problème.
 
J'avoue que là je sèche. Merci d'avance pour votre aide, vos lumières, vos conseils

Reply

Marsh Posté le 17-03-2009 à 17:42:53   

Reply

Marsh Posté le 18-03-2009 à 07:56:38    

Une possibilité :
dans ton classeur Excel, tu vas dans Outil > Macro > Visual Basic Editeur (alt+F11)
Dans la fenetre projet : clic droit sur projetVBA, insert > userform. La tu fais tout ton bazar, tu mets des labels, des champs de saisie, des boutons qui font tout ce que tu leur demandes.
Et pour que cette fenetre soit lancée à l'ouverture du classeur,
Double clic sur CeClasseur dans la fenetre projet et dans la feuille qui s'ouvre, ajoute un truc du genre :  

Code :
  1. Private Sub Workbook_Open()
  2. UserForm1.Show
  3. End Sub


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
Reply

Marsh Posté le 18-03-2009 à 10:05:57    

Excel n'est pas fait pour stocker des données. Et encore moins pour gérer une base de données et permettre d'y accéder "facilement" via des requêtes.
 
Il n'y a pas de méthode "simple" à ce que tu demandes. Et  tu vas rapidement être confronté à de nombreux problèmes à utiliser Excel en tant que base de données.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 19-03-2009 à 11:25:59    

Bonjour
 
Je rejoinds kao98 sur le fond.
Maintenant l'existant etant ce qu'il est, faire un formulaire de recherche pour un tableau excel n'a rien de bien compliqué.
 
Comme le presente un peu fluminis, il te faut :
- Creer une userform (un formulaire) dans VBA editor.
- A l'aide de la boite a outils, tu positionnes tes controles qui te serviront a filtrer les information, des TextBox pour saisir les infos à chercher, et des Label devant les TextBox pour informer le contenu du controle.
- Un bouton, qui lorsque l'on click dessus, va mettre les valeurs des TextBox dans un tableau sur la meme feuille que tes données (masquées) et qui va appliquer non pas un filtre automatique, mais un filtre élaboré.
 
Si tu as besoin de plus amples infos pas de soucis.
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 21-03-2009 à 20:23:13    

Bonjour, je vous remercie pour les pistes. Je vais tout de suite essayer. Et je vous fait part de l'avancé en fin de journée...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed