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 :

Envoi de mail depuis VBA access


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut Envoi de mail depuis VBA access
    Bonjours à tous

    Voici mon probléme :
    J'aimerais intégrer dans un formulaire un bouton permettant d'envoyer un mail via outlook. le bouton doit justre préremplir les champs du mail et l'utilisateur n'aura plus qu'à envoyer.
    Aprés quelque recherche, j'ai trouver le code suivant qui utilise une référence outlook de vba (microsoft outlook 11.0) :

    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
    Sub UseOutlook()
         Dim Mail_Outlook As Object
         Dim Message_Outlook As Object
         Dim Body_mail As String
         Set Mail_Outlook = CreateObject("Outlook.Application")
         Set Message_Outlook = Mail_Outlook.CreateItem(0)
         Message_Outlook.To = "pev15@hotmail.com"
         Message_Outlook.Cc = " destinataire "
         Message_Outlook.Bcc = " destinataire "
         Message_Outlook.Subject = " Sujet du mail "
         Body_mail = "Contenu "
         Body_mail = Body_mail & Chr(13) & Chr(10) '
         Body_mail = Body_mail & "Contenu.."
         Message_Outlook.body = Body_mail
         Message_Outlook.send
         Set Mail_Outlook = Nothing
    End Sub
    La compilation ne pose pas de probléme, mais à l'éxécution le debug se bloque a la ligne en gras
    Je ne comprend pas d'ou vient le probléme, j'ai l'impression que l'objet mail et mal instancié mais pourtant il figure bien dans l'explorateur d'objet de mon environnement VB.
    a terme je veux aussi mettre dans les destinataires le résultat d'une requete sur une de mes tables (avec un record set) mais pas la peine d'implémenter ça si je ne sais pas faire fonctionner le code avec un seul destinataire.

    Merci d'avance.

  2. #2
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    En mettant juste
    Dim Message_Outlook
    dans la declaration ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    Bonjour et merci pour ta réponse.

    j'ai essayé ta solution mais ça ne change rien. L'erreur est tourjours la.

  4. #4
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    C'est quoi le message d'erreur ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    Il s'agit d'une erreur d'éxécution :

    Dans une boite de dialogue j'ai l'erreur d'éxécution '-2147287037 (80030003) : echec de l'opération.

    La boite de dialogue m'invite en mode débug et me surligne la ligne suivante :
    Set Message_Outlook = Mail_Outlook.CreateItem(0)

    en mettant le pointeur de souris sur la ligne, l'info bull m'affiche :
    Message_Outlook = nothing

  6. #6
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Bizarre...
    Dans ton gestionnaire de tache, tu en as pas plusieurs des Outlook ouvert ?
    Moi avant d'attaquer la creation du mail, je passe dans cette fonction :

    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
    Function Outlook_LOGIN() As Boolean
    Dim MAILBOX_STATE, Folder
        On Error GoTo Outlook_Login_Err
        Set Outlook = GetObject(, "Outlook.Application")
        If Outlook Is Nothing Then
    recup_err:
            Set Outlook = CreateObject("Outlook.Application")
            Set MAPI = Outlook.GetNamespace("MAPI")
            MAILBOX_STATE = 200
            Set Folder = MAPI.GetDefaultFolder(6) 
            Folder.Display
        End If
     
        Exit Function
    Outlook_Login_Err:
    If err.Number <> 0 Then
        If err.Number = 429 Then
            GoTo recup_err
        End If
        Exit Function
    End If
    End Function

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    C'est beaucoup mieux
    Mais je sais pas si j'ai bien utilisé le code, peut tu me confirmer la synthaxe de celui ci meme si il marche bien, je veux etre sur que ce soit propre

    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
    Option Compare Database
    Dim Outlook As Object
     
    Sub UseOutlook()
         Dim Mail_Outlook As Object
         Dim Message_Outlook As Object
         Dim Body_mail As String
         Set Outlook = CreateObject("Outlook.Application")
         Outlook_LOGIN
     
         Set Message_Outlook = Outlook.CreateItem(0)
         Message_Outlook.To = "pev15@hotmail.com"
         Message_Outlook.Cc = " destinataire "
         Message_Outlook.Bcc = " destinataire "
         Message_Outlook.Subject = " Sujet du mail "
         Body_mail = "Contenu "
         Body_mail = Body_mail & Chr(13) & Chr(10) '
         Body_mail = Body_mail & "Contenu.."
         Message_Outlook.body = Body_mail
         Message_Outlook.Display
         'Message_Outlook.send en commentaire car je veux que ce soit l'utilisateur qui envoi le mail.
     
         Set Outlook = Nothing
    End Sub
     
     
    Function Outlook_LOGIN() As Boolean
    Dim MAILBOX_STATE, Folder
    On Error GoTo Outlook_Login_Err
    Set Outlook = GetObject(, "Outlook.Application")
    If Outlook Is Nothing Then
    recup_err:
    Set Outlook = CreateObject("Outlook.Application")
    Set MAPI = Outlook.GetNamespace("MAPI")
    MAILBOX_STATE = 200
    Set Folder = MAPI.GetDefaultFolder(6)
    Folder.Display
    End If
     
    Exit Function
    Outlook_Login_Err:
    If Err.Number <> 0 Then
    If Err.Number = 429 Then
    GoTo recup_err
    End If
    Exit Function
    End If
    End Function
    Encore merci pour ton code magique tu m'a débloqué, confirme moi juste la synthaxe du code et je clique sur résolu

  8. #8
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Outlook_LOGIN remplace Set Outlook = CreateObject("Outlook.Application")
    Ca fait ca :
    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
    Sub UseOutlook()
         Dim Mail_Outlook As Object
         Dim Message_Outlook As Object
         Dim Body_mail As String
         Outlook_LOGIN
     
         Set Message_Outlook = Outlook.CreateItem(0)
         Message_Outlook.To = "pev15@hotmail.com"
         Message_Outlook.Cc = " destinataire "
         Message_Outlook.Bcc = " destinataire "
         Message_Outlook.Subject = " Sujet du mail "
         Body_mail = "Contenu "
         Body_mail = Body_mail & Chr(13) & Chr(10) '
         Body_mail = Body_mail & "Contenu.."
         Message_Outlook.body = Body_mail
         Message_Outlook.Display
         'Message_Outlook.send 'en commentaire car je veux que ce soit 'l'utilisateur qui envoi le mail.
     
         Set Outlook = Nothing
    End Sub
    En fait, la fonction que je t'ai donné, teste s'il y a deja Outlook d'ouvert, si oui, il utilise l'existant, si non, il l'ouvre...
    Voila

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    Merci beaucoup de ton aide, ta fonction était tout ce qui me manqué pour faire fonctionner le bazar.

    Bravo à toi

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    bonjour, je remonte ce sujet car j'ai remarqué un autre probléme avec outlook : La fermeture

    une fois la mail envoyer et la fenêtre outlook fermer, Outlook tourne tourjour et prend beaucoup de ressource.
    en effet, l'icone apparait en bas de l'écran à droite, et je n'arrive pas à le fermer
    je suis obligé de passer par le gestionnaire de tache en méttant fin au processus.

    est ce normal? quelle solution me suggérez vous?

  11. #11
    Nouveau membre du Club

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    Alors, je l'utilise de 2 manieres.
    1- Sur un poste dedié a envoyé des Workflows, sur celui ci à la fin j'envoi les mails en faisant .Send. J'envoi autant des info que des documents en piece jointe.
    Sur celui la, je viens de regarder, il est a 4 276 Ko d'util. memoire et cela fait 246 H qu'il tourne.

    2- Sur chaque poste utilisateur, il y a moyen depuis ma base Access de créer des e-mail et donc la j'utilise .display pour que l'utilisateur complete le mail avant d'envoyer, et la j'ai entre 1 000 et 2 000 Ko par mail. Les utilisateurs l'utilise 1 ou 2 fois par jour.

    Je n'ai pas fait de recherches pour savoir comment reduire la conso ... je n'en avais pas vraiment besoin...

    L'icone de quoi au fait, moi j'ai rien ...

    Si tu as des idées, je veux bien

  12. #12
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Essaie de fermer l'objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Outlook.close
    Set Outlook = Nothing
    Un conseil, évite les noms tout fait comme Outlook et préfère lui oApp ou un autre nom.
    C'est un réflexe qui peut éviter certains désagrément liés aux mots réservés.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    bonjour, et merci pour vos réponses.

    J'ai donc essayer d'effectuer le outlook.close, mais a l'éxcécution j'ai un bug sur cette ligne qui me dit que la propriété n'est pas connu de l'objet.

    meme en renommant l'objet avec oApp par exemple, ça fait la meme erreur

    Pour les ressources, mon outlook me prend 162 480 ko. je trouve ça énorme. je travail sans connexion fiable avec exchange, mon outlook ne peut pas communiquer car je suis pas sur le bon réseau etc... Je ne sais pas s'il ya un lien; mais j'arrive qd meme a afficher la mail. Au final je n'envoi pas le mail (normal car je suis pas sur le bon réseau) et je ferme la fenetre outlook. cependant il continu a tourner en processus et je n'arrive pas a le fermer proprement.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    j'ai regardé du coté de la fonction qui instancie l'application outlook :

    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
    Function opp_LOGIN() As Boolean
    Dim MAILBOX_STATE, Folder
    On Error GoTo opp_Login_Err
    Set opp = GetObject(, "Outlook.Application")
    If opp Is Nothing Then
    recup_err:
    Set opp = CreateObject("Outlook.Application")
    Set MAPI = opp.GetNamespace("MAPI")
    MAILBOX_STATE = 200
    Set Folder = MAPI.GetDefaultFolder(6)
    Folder.Display
    End If
     
    Exit Function
    opp_Login_Err:
    If Err.Number <> 0 Then
    If Err.Number = 429 Then
    GoTo recup_err
    End If
    Exit Function
    End If
    End Function
    L'obejt MAPI n'est déclaré à aucun moment, et les objets folder et MAPI ne sont jamais libérer dans le reste du code.
    Ne comprenant pas exactement à quoi sert ces objet, je ne sais pas si le probléme viens de la.

  15. #15
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Toutes mes excuses

    Pour un objet application, c'est Quit.
    Y-a-til une raison pour laquelle tu fais du latebinding.

    Jette un oeil ici http://heureuxoli.developpez.com/publipostage/#LII-A
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    Salut,
    je ne sais pas ce que tu appeles "latebinding" j'ai essayer de regarder rapidement sur le net mais pas trop piger.

    Sinon le outlook.quit ne ferme pas le process de outlook, et il reste toujours aussi gourmant en mémoire.

    sur ta page, j'ai essayer l'exemple du code VB pour envoyer un mail via outlook.

    au début j'avais le meme bug que j'ai cité en début de cette discussion sur le .creatitem(0)
    alors j'ai ajouté la fonction d'instanciation de isa911 et au final je me retrouve avec un code trés proche de ce que j'avais éssayer ( g retirer les record set car pas besoins sauf pour les destinataire)

    et j'ai toujours outlook qui travail en tache de fond et qui me prend 160 Mo de ram.

    il n'y a pas un code permettant de forcer cette fermeture de outlook?
    Dés que j'instancie l'objet j'arrive pas à m'en dégager on dirait.

  17. #17
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    On utilise le latebinding lorsque l'on ne veut pas ajouter de références au projet.
    Cette façon de faire permet d'utiliser le code sur un PC sans avoir besoin de connaître la version du logiciel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim oApp as Object
     
    Set oApp = CreateObject ("Outlook.application")
    Le latebinding est opposé a earlybinding où on ajoute la bibliothèque au projet.
    Outils => Références

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim oApp As Outlook.Application
     
    Set oApp = CreateObject("Outlook.Application")
    ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim oApp as new Outlook.Application
    L'écriture du code est plus facile lorsque l'on déclare la librairie, on peut bénéficier de l'aide à la saisie qui diminue les risques d'erreurs.

    Pour ta tâche Outlook qui tourne sans que tu sache pourquoi.

    Si lorsque tu as une erreur, tu libère pas la ressource avent de quitter le code, l'appli continue seule et pour rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    opp_Login_Err:
    If Err.Number <> 0 Then
    If Err.Number = 429 Then
    GoTo recup_err
    End If
    Exit Function
    Dans cette gestion de l'erreur, tu ne ferme pas Outlook, si tu as une erreur ...
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    Merci pour ton explication sur le late binding. du coup j'ai changer en early.

    Je ne vois pas trop comment retouché le code pour qu'il gére l'erreur et la fermeture de outlook proprement.

    Aurais tu une suggestion ?

  19. #19
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Oui,


    Dans le début de ton code tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    On Error GoTo MonErreur


    à la fin de ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MonErreur:
    oApp =Nothing
    On devrait avoir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub MaProcedure
    OnError GoTo MonErreur
     
    'le code...
     
    MonErreur:
    oApp =Nothing
    End Sub
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 94
    Points : 79
    Points
    79
    Par défaut
    J'ai essayé l'ajout de ces lignes mais ça ne change pas le probléme.

    Le processus est toujours en train de tourner. j'ai trouver une solution sur le net mais je pense que c un peu bourin

    dis moi ce que tu en penses:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Sub KillProcess(ByVal ProcessName As String)
        Dim ovc As Object
        Dim sQuery As String
        Dim oproc
        Set ovc = GetObject("winmgmts:root\cimv2")
        sQuery = "select * from win32_process where name='" & ProcessName & "'"
        For Each oproc In ovc.execquery(sQuery)
            oproc.Terminate
        Next
        Set ovc = Nothing
    End Sub
    Cette fonction tue n'importe quel processus par le code. on rentre outlook.exe en paramétre et il mét fin au process.

Discussions similaires

  1. Envoi de mail depuis access avec retour sur actions
    Par clickandgo dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/04/2012, 11h03
  2. [AC-2003] Outil d'envoi de mail depuis Access
    Par Kloun dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2009, 10h53
  3. Envoi de mails depuis Lotus notes via Access
    Par samia21 dans le forum IHM
    Réponses: 8
    Dernier message: 26/05/2008, 08h42
  4. [VBA] Gérer la taille des cellules lors de l'envoi de mail depuis excel
    Par Arschney dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/06/2007, 10h58
  5. envoyer un mail depuis VBA access
    Par romrai dans le forum Access
    Réponses: 10
    Dernier message: 06/03/2006, 13h51

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