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

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Extraire une information spécifique dans l'objet d'un mail :
    Bonjour a tous !

    Je viens vers vous aujourd'hui car j'éprouve des difficultés quant à une notion : Je travail dans une entreprise qui s'occupe de gérer des clients et leur parc informatique. Ils reçoivent souvent des mail, avec en pièce jointe un fichier excel dans lequel figure des informations qu'ils doivent renseigner dans une base de donnée Access. Or, le processus est long et laborieux (ouvrir les mail, ouvrir la pièce jointe, chercher l'info, la copier et la coller dans la base Access). Ma question consiste à savoir s'il est possible via un script (python, powershell, VBA, peu importe) ou via macro, de : Lors de la réception de mails, le script ou le macro va automatiquement chercher dans la pièce jointe du mail (sur outlook), chercher l'information, et la renseigner dans un champs spécifique de la base de donnée
    Quelques précisions :
    - On part du principe que le nom des clients est toujours renseigné dans le mail (dans le corps ou l'objet)
    - Les informations contenues dans ce fichier Excel figurent toujours au même endroit (par exemple, peu importe le client, l'info nécessaire se trouve dans la cellule C5)
    - On utilise Outlook pour les mails, et les nom de clients sont toujours renseignés de la même façon (2 premières lettres du pays, puis code de chiffre : FR4536, DE4637, UK6357)

    Merci encore pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 950
    Points : 11 409
    Points
    11 409
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Si c'est un client Outlook, ce dernier peut être exploité de façon assez aisé par VBA, et selon la version poser un bouton sur le Ruban ou la barre d'outil qui piloterait cela.

    Donc...
    • ouvrir la PJ d'un mail ciblé après l'avoir téléchargée,
    • vérifier que c'est un classeur Excel,
    • qu'il porte bien la nomanclature attendue...


    Et via OLE Automation,
    • ouvrir le contenu du fichier Excel,
    • localier et stocker la valeurs souhaitée,
    • ouvrir la base de données via un objet Database,
    • et exécuter une séquence SQL pour mettre à jour ou insérer l'information capturée dans la table cible.


    Certes, il y a du travail mais ça reste jouable.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mai 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Tout d'abord merci pour ta réponse ! La solution que tu propose me semble tout a fait correspondre à ce qui m'a été demandé, et je comptais d'ailleurs partir sur un modèle assez ressemblant
    Par contre, tu as évoqué OLE Automation, je compte me pencher sur le sujet, mais en attendant tu aurais de la doc/des liens qui pourraient m'être utile pour résoudre ça

    Merci encore

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    mai 2004
    Messages
    4 950
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : Finance

    Informations forums :
    Inscription : mai 2004
    Messages : 4 950
    Points : 11 409
    Points
    11 409
    Billets dans le blog
    5
    Par défaut
    Des docs, non.

    1. Dans un premier temps, il faut que tu arrives (sous Excel en VBA) à identifier un classeur comme valide avec des objets Workbook, Worksheet et Range afin de trouver la bonne procédure pour vérifier que le classeur est bien au contenu attendu et récupérer la valeur attendue dans une variable ou bien comme résultante de la fonction.
      Ce bout de code sera à coller dans un module de code Outlook.
    2. Dans un second temps, il faut manipuler la base Access avec des objets Database et Recordset afin d'ouvrir la base de données et accéder à la table via un Recordset, localiser l'enregistrement et mettre à jour la valeur récupérée dans le classeur.
      Ce bout de code sera également à coller dans un module de code Outlook.
    3. dans un troisième temps, faire en sorte que ces deux procédures s'exécutent bien ensemble : appeler la procédure/fonction Excel depuis Access par exemple ou l'inverse.


    une fois cela manipulé, maîtrisé et fonctionnel, on pourra attaquer Outlook...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2013 et 2016 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

Discussions similaires

  1. [OL-2016] Mettre une codification automatique dans l'objet d'un mail
    Par Kaytilou dans le forum VBA Outlook
    Réponses: 11
    Dernier message: 23/01/2019, 10h28
  2. [XL-2003] Extraire une information dans le contenu d'une cellule
    Par drymogan dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/08/2010, 13h48
  3. extraire une ligne positionnée dans X fichiers
    Par AlexFred dans le forum Langage
    Réponses: 2
    Dernier message: 18/04/2008, 17h42
  4. Réponses: 4
    Dernier message: 30/03/2008, 21h56
  5. Réponses: 10
    Dernier message: 16/05/2006, 14h13

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