IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Chatbot codé en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut Chatbot codé en VBA
    Bonjour,

    Je suis en train de dévlopper un chatbot (ou chatterbot ou agent conversationnel) sous VBA.

    Après m'être renseigné, il en existe beaucoup dans d'autres langages. En connaissez vous qui ont été codés en VBA ?
    Sinon, avez vous des liens à me suggérer pour le code d'un chatbot ?

    Merci d'avance,

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 257
    Points
    34 257
    Par défaut
    Salut,

    Tu parles surement de ceci :
    http://www.developpez.net/forums/d16...professionnel/

    mis a part le challenge technique, que souhaites-tu faire exactement ici ? Tu veux developper ton propre tool ? Est-ce dans tes cordes ? Tu veux le faire developper par quelqu'un ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    bonjour,
    voir ce sujet où on parle d'un tel projet
    http://www.developpez.net/forums/d16...l/#post8736047

  4. #4
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Bonsoir,

    Merci pour vos liens !

    Jean-Philippe André, en effet c'est un challenge technique (et c'est d'ailleurs ce qui me plait).

    L'objectif idéal serait de créer un chatbot qui a réponse à tout sur un thème précis (Par exemple, sur les règles du rugby.) Je possède déjà la base de données nécessaire à sa connaissance. Il s'agit donc d'une base de donnée finie, mais qui devra recevoir des mises à jours une fois par an environ.
    Je ne me sens pas assez à l'aise pour créer un chat bot avec une création automatique de phrase, mais je pense pouvoir lui faire dire des phrases toutes faites en lien avec ce qu'on lui demande.

    Par exemple :
    Moi : Quand commence le match ?
    Chatbot : Le match commence au premier coup de sifflet de l'arbitre.
    Moi : Un arbitre ?
    Chatbot : Ce n'est pas un joueur, il est là pour surveiller que les règles soient bien appliquées.
    Je recevrais les mêmes réponses du chat bot si je demande :
    Moi : "Commence match"
    Chatbot : Le match commence au premier coup de sifflet de l'arbitre.
    Moi : Qui est l'arbitre ?
    Chatbot : Ce n'est pas un joueur, il est là pour surveiller que les règles soient bien appliquées.
    Je souhaite donc développer mon propre tool, je pensais passer par UserForm avec un textbox, un label, un commandbuton et une scollbar. (plutôt sobre)
    Il n'est pas question de sous-traiter à quelqu'un d'autre.

    Avant de commencer le codage je voulais voir s'il existait déjà quelque chose, même un début, en vba
    Je suis ouvert à toute proposition et toute idée d'amélioration ^^

    Pour l'instant, j'en suis au Userform avec une simulation de chat (Je n'ai pas encore commencé les réponses)

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 257
    Points
    34 257
    Par défaut
    Je ne te dirais pas que c'est impossible, et je ne t'empecherai pas de le faire, mais me contenterai de dire "ca va etre long et dur"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Hum, je me doutais déjà que ce serait long et dur ^^
    Mais je n'ai pas non plus l'ambition de passer le test de Turing.

    Par contre, je commence déjà à me heurter à quelques problèmes :
    La méthode .Find ne fonctionne que pour les range, et je ne souhaite pas mettre ma variable "string" dans une range :/ Ce serait pourtant pratique pour moi d'utiliser cette méthode.
    "Like" commence à me poser ses limites, surtout lorsque je veux rechercher un caratère OU/ET un autre dans la même variable :S

    Une idée pour contourner le problème ? Devrais-je éventuellement abandonner le Userform et passer directement au tableur ?

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 257
    Points
    34 257
    Par défaut
    Vu que le sujet de fond reste de la manipuler de beaucoup de donnees, je privilegierai carrement Access plutot qu'Excel
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    J'avais assimilé cela a un simple chat, mais effectivement c'est beaucoup plus complexe.
    Je pense que GOOGLE doit proposer ce genre de WEB SERVICE, mais c'est sans doute pas ce que tu veux.


    ps: voir du cotés des REGEX http://cafeine.developpez.com/access/tutoriel/regexp/

  9. #9
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Jean-Philippe André, tu as tout à fait raison ! J'y avais aussi pensé, mais Excel est une contrainte de ma structure : Acces n'est, hélas, pas présent sur tous les postes contrairement à Excel.
    Cependant, j'ai bon espoir de limiter les données à quelque chose d'acceptable pour excel !

    Oliv-, oui, j'ai bien remarqué à peu près les 20 chatbots les plus connus que j'ai pu trouver via Google. En passant évidement par Siri, Cortana, Eliza pour ne citer que les plus célèbres. Ils sont tous codés en C++, Java, Html mais en tout cas pas en VBA.
    Mon chatbot doit être utilisé sans connexion internet, ce qui reste cohérent puisque la base de données est finie.
    Cependant, le chat est la base de ce que je veux construire !
    Je pense que je vais vite me heurter à une autre contrainte : Comment gérer la visibilité du label avec une scrollbar x)

  10. #10
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour,
    lorsque je lis et relis le message n° 4, je me dis qu'il est là question de bien plus que l'utilisation d'une base de données.
    A moins de posséder une base de données dont les idarts incluent toutes les questions possibles et imaginables, il faudrait presque de l'intelligence semi-artificielle pour analyser la question et la "traduire" sans faille en texte du bon idart.
    A moins, également, de décider à l'avance des questions "recevables", ce qui réduirait tout simplement le "chatbot" à un simple outil de requête sur la base du choix fait par l'utilisateur parmi une liste de choix possibles !

    EDIT : je ne souhaite pas que tu fasses des cauchemars, mais regarde comment je continue sur la lancée de ton message 4 (des "questions") :
    -L'arbitre peut-il ne pas intervenir sur une faute ?
    -L'arbitre peut-il refuser d'intervenir sur une faute ?
    -L'arbitre peut-il décider d'ignorer une faute ?
    -L'arbitre est-il seul juge de l'opportunité d'intervenir sur une faute ?
    etc ...
    Si tu en veux des milliers de conjugaisons possibles de questions pour la même réponse , je m'y mets ...

    EDIT 2 : et je n'ose même pas te parler (y faire allusion) aux expressions interrogatives mal conçues, mal orthographiées, voire carrément non compréhensibles, parmi lesquelles :
    - les double-négations erronées
    - les doubles interro-négations erronées
    - les emplois d'expressions non compréhensibles ( les "comme même" etc ...)
    - et j'en passe et des meilleures ... (il suffit pour comprendre cet état de choses de lire beaucoup de discussions - y compris sur ce forum - qui obligent à un lot souvent considérable de questions posées au rédacteur de la discussion pour être à même de déterminer ce qu'il veut exposer !
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  11. #11
    Membre actif
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Août 2014
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2014
    Messages : 162
    Points : 207
    Points
    207
    Par défaut
    Merci Unparia, de réagir à ce sujet de m'aider à y voir plus clair

    Concernant les ambiguïtés, entre plusieurs possibles interprétations d'une règle (comme tu l'as bien illustré avec ton exemple), je pensais à quelque chose comme :
    Bot : Si vous me demandez ce qu'est sensé faire l'arbitre, alors...
    . Mon problème serait donc d'identifier les questions qui ne sont pas exactement celles auxquelles le robot va répondre

    Pour ce qui est des fautes et diverses erreurs, je pose pour l'instant l'hypothèse que l'utilisateur final parlera un français irréprochable.

    En ce moment j'en suis aux prémices de mon code, et je vais peut être le passer en html ou java en cours de route. Je ne sais pas encore tout à fait ce que ça va devenir, je suis encore en train de délimiter le projet.

    Edit : Et comme je l'ai dit plus haut, je n'ai pas l'ambition de passer avec succès le test de Turing

  12. #12
    Expert éminent
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 087
    Points : 7 168
    Points
    7 168
    Billets dans le blog
    20
    Par défaut
    Salut,
    Intéressante discussion, je supose que tu as lus le wikipedia sur ce sujet ? je suis aussi tombé sur cet article où ils parlent de framework pour CHATBOT

    Sans vouloir être castrateur, et si tu commençais par faire la "citation du jour" ?

  13. #13
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour,

    avant de te lancer tu devrais regarder un peu la théorie.
    Fait une recherche sur "algorithme système expert", ça te permettra de voir les besoins et d'avoir des idées sur comment organiser le tout.
    Même si tu n'appliques pas tout ça t'évitera peut-être de devoir tout recommencer au bout de plusieurs semaines à force de rajouter des rustines.
    eric

  14. #14
    Membre confirmé
    Homme Profil pro
    Alternant
    Inscrit en
    Décembre 2015
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Alternant

    Informations forums :
    Inscription : Décembre 2015
    Messages : 413
    Points : 584
    Points
    584
    Par défaut
    Sinon il y a ce thread où un membre explique en 15 point comment créer un chatbot :
    https://www.chatbots.org/ai_zone/viewthread/1561/P15/

    Courage
    C'est en creusant qu'on fait des trous

  15. #15
    Membre régulier Avatar de Gorzyne
    Profil pro
    Collégien
    Inscrit en
    Janvier 2008
    Messages
    324
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Janvier 2008
    Messages : 324
    Points : 115
    Points
    115
    Par défaut
    Salut

    j'ai déjà fait 2 chatbots en vba
    vba se prête bien au chatbot car excel permet de manipuler de façon très souple les dictionnaires, et de les organiser comme on l'entend
    cela dit c'est un bon langage de prototypage, pour une application plus léchée il faut migrer vers un autre langage



    je suis en train de développer mon troisième chatbot en ce moment, en collaboration avec une connaissance
    je compte faire du prototypage toujours en vba

    on cherche également des financements

    si ça te dis de te joindre à nous tu es bienvenu

    Gorz

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si je comprends bien, tu projettes de proposer ce genre d'outils a des utilisateurs pour ton entreprise.

    Excel, toujours si j'ai bien compris, est une composante incontournable ? Un outils developpez en Vba ferait l'affaire dans la mesure ou il s'adapte facilement?

    Appréhender ce genre d'outils n'est pas ta priorité?

    Il faudrait nous en dire un peut plus sur la finalité (culturel et/ou professionnel) de ton projet!

    Il existe des exemples de pages HTML et javascript qui avec l'utilisation des WebBroser dans un Userform fonctionnerait en Vba.

    Le données stocker dans un feuille Excel servirait de base de données, accessible par requête Sql via ADO!

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/08/2016, 19h56
  2. [XL-2007] Rajouter une image en haut d'un mail codé en VBA
    Par VAPI04 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/10/2015, 22h15
  3. [AC-2010] Bouton codé en vba ne fonctionne plus dans la base frontale
    Par marg0t dans le forum VBA Access
    Réponses: 10
    Dernier message: 28/08/2013, 15h40
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo