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 :

Choix des destinataires Outlook et suppression "Mailto" [AC-2007]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut Choix des destinataires Outlook et suppression "Mailto"
    Bonjour à tous et merci d'avance pour votre aide.

    J'ai une base avec entre autre un champ "MailTo" où se trouve les adresses mail et un champ "envoi" qui est une case à cocher.

    Dans un double formulaire, j'ai créé un bouton ([Procédure événementielle)qui sélectionne les adresses puis ouvre le message. Il ne me reste plus qu'à rédiger et ajouter les pièces jointes et un Sous Formulaire qui affiche une requête "R_envoiMail" (mode feuille de donnée)où je sélectionne les adresses que je veux utiliser.

    J'ai deux problèmes :
    1 - je voudrais n'avoir que les adresses dont la case "envoi" est cochée,
    2 - et n'avoir en expéditeur que l'adresse utile et non pas le double affichage puisque Outlook n'accepte pas "xxx@free.fr#mailto : 'xxx@free.fr#"

    Voici la procédure que j'ai récupéré et mis à ma sauce.

    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
    Private Sub Test2_Click()
     
     
      Dim MonOutlook As New Outlook.Application
      Dim MonMessage As Outlook.MailItem
      Dim ListeEMail As Recordset
      Dim ListeComplete As String
     
      ' Initialisation
      Set MonMessage = MonOutlook.CreateItem(0)
      Set ListeEMail = CurrentDb.OpenRecordset("R_EnvoiMail")
      ListeEMail.MoveFirst
      ListeComplete = ""
     
      ' Parcourt des enregistrements de la requête
      While Not ListeEMail.EOF
        ListeComplete = ListeComplete & ListeEMail("MailTo") & ";"
        ListeEMail.MoveNext
      Wend
     
      'Remplissage de l'objet MailItem
       MonMessage.BCC = Left(ListeComplete, Len(ListeComplete) - 1) 
     
      ' Affichage du mail
      MonMessage.Display
     
     
    End Sub

    Si quelqu'un pouvait me dire quel code écrire et ou le placer, ce serait sympa.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut Presque fini
    En fin de compte, j'ai modifié la table de base.

    J'ai rajouté un champ texte et j'y ai copié les adresses mail.

    En formulaire/sous form, j'ai créé une requête qui ne sélectionne que les enregistrements dont la case envoi est cochée. (Ce qui permet une vérification avant le lancement de la procédure.)

    Coté code, j'ai juste mis à jour le nom de la requête et le nom du champ Mail_texte.

    Maintenant, je voudrais pouvoir décocher la case envoi à l'aide d'un bouton. (VBA, Macro,... Je ne sais pas quoi, ni comment)

    En VBA, je me classe juste avant débutant.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2012
    Messages : 4
    Par défaut Fini
    Bjr,

    Pour le champ à "décocher", j'ai utilisé une macro qui lance une requête "Mise à jour".

    Voila c'est fini.

    A l'occasion supprimer cette discussion (je me parle tout seul). En attendant je la passe en résolu.

  4. #4
    Invité de passage
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Décembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2016
    Messages : 1
    Par défaut
    Bonjour à tous,

    Alternativement, pour ne pas modifier ta table, tu pouvais utiliser les fonctions Left et Length afin de ne garder que l'adresse mail que tu concatènes ensuite avec le reste des destinataires.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    'Boucle sur chaque client et les ajoute au champ BCC du mail, en supprimant le mailto et les #
    While Not rRequete2.EOF
        strTo = strTo & Left(rRequete2.Fields("Email"), Int(Len(rRequete2.Fields("Email")) / 2) - 4) & "; "
        rRequete2.MoveNext
    Wend
    Désolé pour le déterrage de poste, mais cette solution me paraissait plus pratique.

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

Discussions similaires

  1. VBA OUTLOOK: Ajouter des destinataires "CC"
    Par LANGAZOU dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 04/04/2015, 19h30
  2. [AC-2007] Publipostage choix des destinataires
    Par wushu29 dans le forum VBA Access
    Réponses: 5
    Dernier message: 05/07/2010, 15h24
  3. Réponses: 5
    Dernier message: 12/03/2009, 11h16

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