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 pièce jointe via mail ? [AC-2007]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut Envoi pièce jointe via mail ?
    Bonsoir !

    J'ai adapté un code qui me permets d'expédier via mail les données préalablement renseignées dans les champs de mon formulaire avant de passer à un nouvel enregistrement.
    Mon formulaire est également "doté" d'une pièce jointe pour laquelle je viens renseigner le "directory" de la photo que je veux joindre à mon mail.

    Le code ci-dessous fonctionne à condition que je renseigne systématiquement le nom du fichier dans mon code... Pas pratique

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Attachments.Add  "C:\Documents and Settings\stéph\Mes documents\lapinscrétins.jpg"
    Comment faire pour attacher la pièce_jointe de façon automatique à mon mail ?

    Merci à vous

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 724
    Points
    24 724
    Par défaut
    Bonjour,

    Note que cela n'a rien à voir avec la méthode Add, c'est plutot en amont que le problème doit être résolu.

    Tu peux utiliser la commande Dir() pour trouver le ou les noms de fichiers à inclure. Puis une petite boucle sur le add.

    Cordialement,

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut
    Bonsoir Loufab,

    Je me permets de mettre le code complet car tu dis que le problème se situe en amont, je comprends globalement le code, mais pas comment mettre en œuvre tes recommandations. En même temps je débute ...
    Merci pour ton/votre aide.


    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
    Private Sub Commande139_Click()
     
     
    '   Avant de lancer cette macro, Dans l'éditeur VBA: Faire Menu / Tools / Reference / Cocher "Microsoft Outlook Library"
        Dim Ol As New Outlook.Application
        Dim Olmail As MailItem
        Dim Destinataire, Objet, Message As String
        Set Ol = New Outlook.Application
        Set Olmail = Ol.CreateItem(olMailItem)
    '
        Signature = "Cordialement" & vbCrLf & vbCrLf & _
                    "Stéphane" & vbCrLf & _
                    "Service Technique" & vbCrLf & _
                    "Tel : 00.00.00.00.00 - Fax : 00.00.00.00.00"
    '
        Destinataire = "eux@wanadoo.fr"
     
    '
        Objet = "Clôture incident " & Str(Date_Appel) & " " & Type_Machine & " "
        Message = "Bonjour," & vbCrLf & vbCrLf & _
                  "Veuillez trouver ci-joint la clôture de l'incident suivant:" & vbCrLf & vbCrLf & _
                  "Client : " & Client & vbCrLf & _
                  "Ville  : " & Ville & vbCrLf & _
                  "Type   : " & Machnie & vbCrLf & _
                  "Description panne  : " & Symptôme & vbCrLf & vbCrLf & _
                  "Date inter   : " & Dte_Inter & vbCrLf & _
                  "De     : " & Heure_Deb & vbCrLf & _
                  "A      : " & Heure_Fin & vbCrLf & vbCrLf & _
                  "Technicien  : " & Technicien & vbCrLf & vbCrLf & _
                  "Commentaire : " & Commentaire & vbCrLf & vbCrLf & _
                  vbCrLf & Signature
     
     
    '   Olmail = CreateObject("CDO.Message")
        With Olmail
            .To = Destinataire                          ' destinataire du message
            .CC = ""                                    ' destinataire en copie
            .BCC = ""                                   ' destinataire en copie cachée
    '       .From = ""                                  ' Adresse mail de l'expéditeur
            .Subject = Objet                            ' objet du message
            .Body = Message                             ' corps du message
            .Attachments.Add "C:\Documents and Settings\stéph\Mes documents\lapinscrétins.jpg"   ' pièces jointes"
    '        .Send                                      ' envoi du message
            .Display
     
        End With
    '
    '    Application.DisplayAlerts = False
     
     
    End Sub

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 081
    Points : 24 724
    Points
    24 724
    Par défaut
    Voici un code adapté de la FAQ pour ton cas.
    Tu dois le placer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim rep As String
    'obtient le premier fichier qui est dans "c:\monrep\"
    rep = Dir(monrep & "*.jpg", vbDirectory)
    'boucle tant que le répertoire n'a pas été entièrement parcouru
    Do While (rep <> "")
        'teste si c'est un fichier ou un répertoire
        If (GetAttr(monrep & rep) And vbDirectory) <> vbDirectory Then
            .Attachments.Add  monrep & rep
            exit do        'pour le premier fichier uniquement, pour tous l'enlever
        End If
        'passe à l'élément suivant
        rep = Dir
    Loop
    tu dois le mettre à la place de la ligne .Attachments.Add

    Cordialement,

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut
    Bonjour Fab,

    Merci pour ton aide !!
    L'exécution du code se plante à la ligne N°8 => Fichier introuvable ?
    Pourtant, j'ai été attentif en créant un rep sous C:\monrep avec des photos au format .jpg
    Je planche depuis un moment mais ne vois pas ou est la coquille ?

    Encore Merci

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut
    C'est possible çà qu'en fermant et ré-ouvrant ma BD ça fonctionne ?!
    Pourtant c'est bien le cas

    Avant de clore le sujet, je profite de l'occasion pour poser une dernière question pour laquelle je ne trouve de réponse:

    La personne en charge de travailler sur cette BD me dit que, de temps à autres les mails partent tout seul, je l'ai en effet constaté. Habituellement ils sont édités via Outlook puis un "click" sur "envoyer" est nécessaire pour l'envoi.
    Cette solution est préférable car il nous est possible d'argumenter le mail avant envoie.

    Je travaille cette base sur 2 postes différents (XP + office 2007) et en aucun cas je n'ai pu constater un envoi automatique de mails.

    Alors pourquoi un envoi automatique sur ce 3éme poste (XP + office 2007) ?

    Merci infiniment Fabrice ...!

  7. #7
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    ton programme m'intrigue:
    tu veux envoyer des mails avec Outlook et tu utilise CDO
    l'un pose question avant d'envoyer, l'autre pas
    tu dois choisir!

  8. #8
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Simplifi Voir le message
    Hello
    ton programme m'intrigue:
    tu veux envoyer des mails avec Outlook et tu utilise CDO
    l'un pose question avant d'envoyer, l'autre pas
    tu dois choisir!
    Bonsoir Simplifi,

    Oui c'est bien ça... Je n'arrive pas à l'expliquer...

    Bonne soirée

  9. #9
    Membre expérimenté
    Homme Profil pro
    Indépendant développeur et formateur
    Inscrit en
    Octobre 2007
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Indépendant développeur et formateur
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 036
    Points : 1 598
    Points
    1 598
    Par défaut
    Hello
    si tu ne veux pas de question (publimilling) utilise CDO
    si tu veux une question de confirmation utilise Outlook ou plus simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    DoCmd.SendObject acSendReport, "publimailling" _
                                 , "PDFFormat(*.pdf) " _
                                 , Mail_Boulot_contact _
                                 , "", "" _
                                 , "Message SIMPLIFI" _
                                 , "Bonjour " & Nom_Pré_contact & " veuillez trouver ci-joint nos explications publicitaires" _
                                 , True, ""

  10. #10
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2011
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 109
    Points : 64
    Points
    64
    Par défaut
    Merci à toi Jacques !

    Pb résolu

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

Discussions similaires

  1. [Forum] Envoi piéce jointe via un mail en php
    Par forzaakz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 04/01/2012, 12h25
  2. Envoi pièce jointe sur mail
    Par binou-ze dans le forum Langage
    Réponses: 2
    Dernier message: 07/10/2010, 11h39
  3. Récupération de pièces jointes via Mails (Pop)
    Par Saten dans le forum Windows Forms
    Réponses: 30
    Dernier message: 20/11/2008, 12h23
  4. Envoie pièce jointe de mail en cache
    Par maxr397 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 28/08/2008, 22h01
  5. Envoi Pièce Jointe par Mail via 4D
    Par mxh77 dans le forum 4D
    Réponses: 6
    Dernier message: 25/09/2007, 19h05

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