Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/05/2011, 21h25   #1
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
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 :
.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
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 10h04   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 20h35   #3
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
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 :
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
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 09h17   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 085
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 085
Points : 11 623
Points : 11 623
Voici un code adapté de la FAQ pour ton cas.
Tu dois le placer

Code :
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 11h36   #5
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
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
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 16h32   #6
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
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 ...!
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 09h14   #7
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

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

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
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!
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 23h34   #8
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
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
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 08h29   #9
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

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

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Hello
si tu ne veux pas de question (publimilling) utilise CDO
si tu veux une question de confirmation utilise Outlook ou plus simplement
Code :
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, ""
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2011, 13h49   #10
Membre à l'essai
 
Homme Steph
Technicien maintenance
Inscription : janvier 2011
Messages : 83
Détails du profil
Informations personnelles :
Nom : Homme Steph
Âge : 40
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 : 83
Points : 22
Points : 22
Merci à toi Jacques !

Pb résolu
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h45.


 
 
 
 
Partenaires

Hébergement Web