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

VBA Access Discussion :

Récupérer les mails Outlook dans une table Access


Sujet :

VBA Access

  1. #61
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    si MAIS j'ai juste fait un copier coller de ton post précédent !

    et pourquoi tu as remplacé find1 et repl1 ???

  2. #62
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    allez, laisse moi juste jubiler 30 seconde, depuis deux jours, tu n'arrete pas de m'impressionner avec les reponse que tu m'apporte, alors, pour une fois que je peux etaler LE PEU de connaissance que j'ai, laisse moi en profiter au moins 30secondes......


    Bon, redevenons serieux....
    en fait, comme il faut que je supprime tous les caract spec., je me suis dis, je vais creer une variable par caractere (find1 -->"; find2 --> ., etc, etc) et idem pour le repl1, repl2.....
    est une bonne methode, ou y a t'il quelque chose de plus simple?

  3. #63
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    à part le " il n'y a aucun autre cartère qui peut mettrre la zouille ? ton code ne marche pas apres corrections ?

  4. #64
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    non, il m'affiche le message suivant :


    L'erreur suivante a eu lieu :
    Erreur de syntaxe (operateur absent) dans l'expression "WINNT: Affichage du message 'l'installation a échoué' dans un script d'ouverture de session".

    sachant que cela correspond au sujet de mon mail

  5. #65
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    essaye de dire que repl = "" au lieu de "'" ! :

  6. #66
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    deja essayer, pareil..... :

  7. #67
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    quand tu mets repl="" redonnes moi :

    rajoutes aussi msgbox("nouvsujet = " & nouvsujet ) apres nouvsujet = Replace(objOLfolder.Items(i).Subject, Find, repl)

    - ce que t'affiche "nouvsujet =" ?
    - la ligne qui plante dans le code ?
    - le message d'erreur exact !

  8. #68
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    nouvsujet = WINNT:Affichage du messagel'installation a échoué dans un script d'ouverture de session

    le moment ou cela plante : il plante une fois qu'il m'a afficher tous les sujets des mail avec ta msgbox

    le message d'erreur exact : c'est celui que je t'ai inscrit sur le precedent post avec la syntaxe exact a la virgule pres...

  9. #69
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    ok essaye ca :

    avec repl= " "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    nouvsujet = replace(Replace(objOLfolder.Items(i).Subject, Find, repl),"'"," ")
    :

  10. #70
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    Alors, la, je n'ai qu'une chose a faire m'incliner.......

    MES RESPECTS.....


    et quel etait le pb au juste ?

  11. #71
    Membre régulier

    Inscrit en
    Novembre 2002
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 73
    Points : 86
    Points
    86
    Par défaut
    dans une chaine ni " et ni ' => donc on les enleve !

    Bon c'est fini maintenant pour ce post ! (trop le bazar !)

    si tu as d'autres soucis .. il vaut mieux reposter un nouveau post en rappelant le code utilisé et en précisant clairement ton problème !

  12. #72
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 73
    Points : 33
    Points
    33
    Par défaut
    En tout cas, je ne sais comment te remercier.

    Encore une fois mille merci a toi .....




  13. #73
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 80
    Points : 111
    Points
    111
    Par défaut
    Bravo Thorgal pour ce post et cette patience !
    Tu devrais le mettre en evidence ou l'accrocher dans ta chambre !

  14. #74
    Membre habitué
    Avatar de jeha
    Inscrit en
    Octobre 2005
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 127
    Points : 193
    Points
    193
    Par défaut
    Un grand remerciement pour Mr THOGAL et aussi pour Mr zerrokooll pour cette patience
    J’ai ne peut rien n’a dire pour ce la il me semble que ne somme dans un monde des brave homme
    Merci merci mille fois a la place de tous les interlocuteurs de ce bon article


  15. #75
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    Pareil, BRAVO à tout les deux !

    Philippe

  16. #76
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par THOGAL Voir le message
    allez ... rien que pour toi !

    IL FAUT :
    1 - Créer une table nomée TABLEMAIL avec pour champs :
    • SUJET=> string
      TO=> string
      ENVOYELE=>date
      RECULE=>date


    2 - et cocher la référence Ms Outlook object library dans Outils=> références.

    3 - faire copier/coller de ce code dans un nouveau module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     
    Sub recupere_les_messages_outlook_dans_une_table()
     
        'gestion des erreurs
        On Error GoTo gere
     
        'déclaration des variables de travail
        Dim olkapp As Object
        Dim olknamespace As Object
        Dim objOLfolder As Outlook.MAPIFolder
        Dim i As Integer
        Dim marequete As String
        'ouverture de l'object outlook
        Set olkapp = CreateObject("Outlook.application")
        Set olknamespace = olkapp.GetNamespace("MAPI")
     
        'ouverture des dossiers de mails
        Set objOLfolder = olknamespace.GetDefaultFolder(olFolderInbox)
     
        'informations sur le nombre de mails trouvés
        MsgBox ("Access a trouvé : " & objOLfolder.Items.Count & " mail(s) dans votre boite de réception !")
     
        'aucun mail n'a été trouvé ? => on sort !
        If objOLfolder.Items.Count = 0 Then
            Exit Sub
        End If
     
        'on désactive les avertissements
        DoCmd.SetWarnings False
     
        'passage en revue des mails et écriture dans la table
        'des champs suivants SUJET,DESTINATAIRE,DATE ENVOI,DATE RECU
        For i = objOLfolder.Items.Count To 1 Step -1
            marequete = "INSERT INTO TABLEMAIL (SUJET,TO,ENVOYELE,RECULE) VALUES ('" _
            & IIf(Not IsNull(objOLfolder.Items(i).Subject), objOLfolder.Items(i).Subject, "") & "'" _
            & ",'" & IIf(Not IsNull(objOLfolder.Items(i).To), objOLfolder.Items(i).To, "") & "'" _
            & ",'" & IIf(Not IsNull(objOLfolder.Items(i).SentOn), objOLfolder.Items(i).SentOn, "") & "'" _
            & ",'" & IIf(Not IsNull(objOLfolder.Items(i).ReceivedTime), objOLfolder.Items(i).ReceivedTime, "") & "'" _
            & ");"
            'MsgBox ("ACCESS va éxécuter la requete suivante :" & vbCrLf & marequete)
            DoCmd.RunSQL marequete
        Next i
     
        'on réactive les avertissements
        DoCmd.SetWarnings True
     
        'fermeture des objets
        'et libération
        olkapp.Quit
        Set olkapp = Nothing
     
        'fermeture normale
        Exit Sub
     
        'en cas d'erreur
    gere:
        MsgBox ("L'erreur suivante a eu lieue : " & vbCrLf & Err.Description)
        Exit Sub
     
    End Sub
     
     
    Sub essai()
    recupere_les_messages_outlook_dans_une_table
    End Sub
    Mieux vaut tard que jamais et pour une fois que je contribue à quelque chose! Eh eh ouais le poste date quand même de 2003! Il m'a été très utile aujourd'hui! : Merci à THOGALPour le problème rencontré avec le simple quote (notre apostrophe) dans un sujet de mail par exemple: il y a effectivement la solution du replace ou bien tout simplement supprimer dans le code l'apostrophe par 2 guillemets comme ceci :

    (je reprends que la partie à modifier du code ci-dessus)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    marequete = "INSERT INTO TABLEMAIL (SUJET,TO,ENVOYELE,RECULE) VALUES (""" _
            & IIf(Not IsNull(objOLfolder.Items(i).Subject), objOLfolder.Items(i).Subject, "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).To), objOLfolder.Items(i).To, "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).SentOn), objOLfolder.Items(i).SentOn, "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).ReceivedTime), objOLfolder.Items(i).ReceivedTime, "") & """" _
            & ");"
    Ca marche très bien aussi et en une seule passe

  17. #77
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    bonjour

    j'ai suivi avec interet tout ce post

    et appliquer le code

    j'ai ajouter le champ "body" dans la table

    mais si on a des guillemet dans le corp du message outlook ca plante

    une idée ??

  18. #78
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par botk62 Voir le message
    bonjour

    j'ai suivi avec interet tout ce post

    et appliquer le code

    j'ai ajouter le champ "body" dans la table

    mais si on a des guillemet dans le corp du message outlook ca plante

    une idée ??
    Effectivement çà pose problème lorsqu'il y a des guillemets...
    Essaie cela , çà devrait marcher (j'ai ajouté le body du mail comme toi mais il faut que le champ de ta table s'appelle aussi body sinon renomme-le par le nom que tu lui as donné dans ta table INSERT.....RECULE,mon champ body de ma table) VALUES....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    marequete = "INSERT INTO TABLEMAIL (SUJET,TO,ENVOYELE,RECULE,BODY) VALUES (""" _
            & IIf(Not IsNull(objOLfolder.Items(i).Subject), Replace(objOLfolder.Items(i).Subject, """", "''"), "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).To), Replace(objOLfolder.Items(i).To, """", "''"), "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).SentOn), Replace(objOLfolder.Items(i).SentOn, """", "''"), "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).ReceivedTime), Replace(objOLfolder.Items(i).ReceivedTime, """", "''"), "") & """" _
            & ",""" & IIf(Not IsNull(objOLfolder.Items(i).Body), Replace(objOLfolder.Items(i).Body, """", "''"), "") & """" _
            & ");"

  19. #79
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    Formidable ça marche merci a toi

  20. #80
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 12
    Points : 12
    Points
    12
    Par défaut
    re salut

    si on veut rajouter une temporisation sur ce code

    est ce possible et comment supprimer les message dans outlook une fois importé


    ?

    merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Recupérer les informations d'un mail dans une table Access
    Par triistaan dans le forum VBA Access
    Réponses: 0
    Dernier message: 25/01/2015, 14h29
  2. Récupérer les lignes uniques dans une table
    Par Empty_body dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/01/2009, 19h23
  3. Réponses: 4
    Dernier message: 28/03/2007, 13h47
  4. [VBA-A] Récupérer une valeur dans une table Access
    Par Dude2006 dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/04/2006, 23h56
  5. importer les noms de fichiers html dans une table access
    Par abane badis dans le forum Access
    Réponses: 3
    Dernier message: 14/11/2005, 17h25

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