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 :

remplir le destinataire d'un email à partir d'une adresse sur un formulaire


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut remplir le destinataire d'un email à partir d'une adresse sur un formulaire
    Bonjour,
    j'ai un formulaire basé sur une table, dont l'un des champs est constitué d'une liste d'adresses email.
    J'ai créé un évènement qui me permet de déclencher automatiquement un email lorsque je clique sur l'adresse dans le champ de mon formulaire.
    Toutefois, mon problème est le suivant :
    je ne parviens pas à remplir automatiquement le champ du destinataire de mon message dans l'email qui vient de se créer par messagerie (avec Mozilla), sur la base de l'adresse mail qui figure dans le champ de mon formulaire.

    Avec la commande :
    , j'ai essayé diverses syntaxes pour la partie du destinataire [To] comme par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Me.mon_champ.Text
    Me.mon_champ.Value
    Etc...
    Mais je n'y suis pas parvenu.
    Par avance, merci de l'aide que vous pourrez m'apporter.

  2. #2
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    As-tu renseigné les paramètres de SendObject?
    donne çà:
    expression.SendObject(TypeObjet, NomObjet, FormatDeSortie, À, Cc, Ccc, Sujet, TexteMessage, ModifierMessage, FichierModèle)
    ....

  3. #3
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Je me trompe peut etre mais ca ne serrai pas dans l'aide en ligne par hasard ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    expression.SendObject(TypeObjet, NomObjet, FormatDeSortie, À, Cc, Ccc, Objet, TexteMessage, ModifierMessage, FichierModèle)
     
    À Facultatif Variante Expression chaîne qui contient les noms des destinataires du message, qui seront insérés sur la ligne A du message électronique. Séparez les noms des destinataires spécifiés dans cet argument de ceux spécifiés dans les arguments Cc et Ccc à l'aide d'un point-virgule (;) ou du séparateur (séparateur : caractère qui sépare des unités de texte ou des nombres.) de liste défini sous l'onglet Nombre de la boîte de dialogue Propriétés pour Paramètres régionaux du Panneau de configuration Windows. Si l'application de messagerie ne peut pas identifier les noms des destinataires, le message n'est pas envoyé et une erreur survient. Si vous laissez cet argument vierge, Microsoft Access vous invite à fournir les noms des destinataires. 
    Cc Facultatif Variante Expression chaîne qui contient la liste des destinataires dont vous voulez insérer les noms sur la ligne Ccc du message électronique. Si vous laissez cet argument vierge, la ligne Ccc du message électronique est vide. 
    Ccc Facultatif Variante Expression chaîne qui contient la liste des destinataires dont vous voulez insérer les noms sur la ligne Ccc du message électronique. Si vous laissez cet argument vierge, la ligne Ccc du message électronique est vide.
    Très utile la touche F1 sur une procédure.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut
    Oui, j'ai bien rempli toute la syntaxe de la commande de "SendObject" ; la question est de savoir comment faire comprendre à "SendObject" que la valeur [A , destinataire du message] est la valeur contenue dans mon champ.

  5. #5
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Tu l'appel dans les codes du formulaire ton SendObject ou depuis un module à part?
    Peux-tu nous montrer ce que tu as mis (le bout de code)?
    PS: C'est à toi de lui faire comprendre au fait s'il veut pas le faire tout seul

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut
    Mon code est placé sur l'évènement click de mon champ "mail contact.
    Le mot test correspond à la partie [Sujet] de la syntaxe DoCmd.SendObject

    Private Sub mail_contact_Click()
    DoCmd.SendObject , , , Me.mail_contact.Value, , , "test"

    End Sub

    Lorsque je clique sur l'adresse mail dans mon formulaire, Mozilla génère bien un nouvel email, le sujet du mail "test" est bien pré rempli, en revanche l'adresse du destinataire - qui correspond à la valeur du champ - demeure vierge.

  7. #7
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Essaye de préciser les paramètres alors, du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub mail_contact_Click()
    DoCmd.SendObject To:= Me.mail_contact.Value, Subject:= "test"
    End Sub
    et si çà ne marche toujours pas, çà donne quoi un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub mail_contact_Click()
    msgbox Me.mail_contact.Value
    End Sub
    ?

    Dans le pire des cas, c'est mozilla qui n'en veut pas de ton destinataire, j'ai vu çà sur :

    Ci-après la solution que j'ai trouvée et qui marche chez moi.
    Elle résoud le problème du nom du destinataire qui n'est pas transmis à
    Mozilla avec SendObject.

    On crée une procédure envoiMail que l'on place dans un 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
     
    Sub envoiMail(leDestinataire As String, Objet As String, leMessage As
    String)
    'ouvre la fenêtre de Mozilla de composition d'un message
    appel = Shell("C:\Program Files\mozilla.org\Mozilla\mozilla.exe -compose",
    1)
     
    ' permet d'attendre que Mozilla soit chargé pour pouvoir recevoir les
    SendKeys
    ' adapter le nombre de secondes en fonction de la vitesse de chargement de
    Mozilla
     
    Attendre (2)
    AppActivate appel
    SendKeys leDestinataire, True
    SendKeys "%S", True
    SendKeys Objet, True
    SendKeys "{TAB}", True
    SendKeys leMessage, True
    SendKeys "%F", True
    SendKeys "V", True
    End Sub
     
    Sub Attendre(Secondes As Integer)
    Dim Début As Long, Fin As Long, Chrono As Long
    Début = Timer
    Fin = Début + Secondes
    Do Until Timer >= Fin
    DoEvents
    Loop
    End Sub
    Pour utiliser la procédure envoiMail :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim lemail, lobjet, monmessage as String
    lemail = ""
    lobjet = "......"
    monmessage="...."
    Call envoiMail(lemail, lobjet, monmessage)
    Merci à ceux qui m'ont fourni quelques pistes pour écrire ces ligne.
    En tout cas, bon courage (ou utilise outlook)!!

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut
    Désolé, ça ne fonctionne pas.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 58
    Points : 69
    Points
    69
    Par défaut
    Ok ; merci pour la procédure, je vais la tester, je vous tiens au courant.

    P.S. : ne pas tenir compte de ma réponse précédente, elle concernait le mesage précédent avant la transmission de la procédure.

  10. #10
    Membre confirmé Avatar de Tonioyo
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2008
    Messages
    343
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2008
    Messages : 343
    Points : 518
    Points
    518
    Par défaut
    Il n'y aurait pas par hasard un cast à faire ?? Je pense notement aux histoires d'unicode.

    As-tu fait un test en tapant toi même une chaine de caractère? Il est en effet possible qu'il y ai des problèmes de compatibilité.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer un Email à partir d'une page JSF
    Par tunbader dans le forum JSF
    Réponses: 1
    Dernier message: 27/04/2009, 15h59
  2. Réponses: 1
    Dernier message: 18/03/2009, 14h03
  3. [Mail] envoyer un email à partir d'une page web
    Par mouss4rs dans le forum Langage
    Réponses: 4
    Dernier message: 20/02/2009, 15h47
  4. Réponses: 7
    Dernier message: 05/06/2008, 13h54
  5. Réponses: 14
    Dernier message: 15/04/2008, 16h39

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