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 19/05/2011, 22h55   #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 de mail conditionnel.

Bonsoir à tous.

Je ne suis pas certain d'employer la méthode la plus simple, mais voilà ce que je tente de réaliser => Associer un code conditionnel basé sur le contrôle de récidives d'interventions techniques, à un envoie automatique par mail.
Individuellement mes 2 codes fonctionnent, en revanche je n'arrive pas à faire la liaison en les 2

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
Private Sub Commande139_Click()
 
 'dim nbInterventions as integer
nbInterventions = DCount("[Machine]", "T_Appels", "[Date_Appel]>=Date()-15 AND [Machine]='" & Me.cmbMAchine.Value & "'")
If nbInterventions >= 3 Then ????????????
 
 
 
    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 = "Récidive incident " & Str(Date_Appel) & " " & Type_Machine & " "
    Message = "Bonjour," & vbCrLf & vbCrLf & _
              "Merci de prévoir un contrôle:" & vbCrLf & vbCrLf & _
              "Client : " & Client & vbCrLf & _
              "Ville  : " & Ville & vbCrLf & _
              "Type   : " & Machnie & vbCrLf & _
              "Symptôme  : " & Symptôme & vbCrLf & vbCrLf & _
              vbCrLf & Signature
 
 
'   Olmail = CreateObject("CDO.Message")
    With Olmail
        .To = Destinataire                         
        .CC = ""                                   
        .BCC = ""                                  
'       .From = ""                                  
        .Subject = Objet                        
        .Body = Message                           
'        .Send                                    
        .Display
 
    End With
'
'    Application.DisplayAlerts = False
 
 
End Sub
Bonne soirée
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 00h35   #2
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonsoir.

Si les routines fonctionnent, alors tu peux essayer
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()
 
 'dim nbInterventions as integer
nbInterventions = DCount("[Machine]", "T_Appels", "[Date_Appel]>=Date()-15 AND [Machine]='" & Me.cmbMAchine.Value & "'")
If nbInterventions >= 3 Then 
 
    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 = "Récidive incident " & Str(Date_Appel) & " " & Type_Machine & " "
    Message = "Bonjour," & vbCrLf & vbCrLf & _
              "Merci de prévoir un contrôle:" & vbCrLf & vbCrLf & _
              "Client : " & Client & vbCrLf & _
              "Ville  : " & Ville & vbCrLf & _
              "Type   : " & Machnie & vbCrLf & _
              "Symptôme  : " & Symptôme & vbCrLf & vbCrLf & _
              vbCrLf & Signature
 
 
'   Olmail = CreateObject("CDO.Message")
    With Olmail
        .To = Destinataire                         
        .CC = ""                                   
        .BCC = ""                                  
'       .From = ""                                  
        .Subject = Objet                        
        .Body = Message                           
'        .Send                                    
        .Display
 
    End With
    'libération des variables
    Set Ol = nothing
    Set OlMail = nothing
End if
 
'    Application.DisplayAlerts = False
 
 
End Sub
Par contre le swing entre Outlook.MailItem et CDO.Message est surprenant!

PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 12h49   #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
Bonjour Pierre,

ça fonctionne

En revanche, je souhaiterais que le mail parte automatiquement sans avoir à cliquer sur "Envoyer" lorsque le mail est édité by Outlook...

Concernant le "Mix" CDO Outlook, le code n'est pas de moi ...Mais ça, tu t'en doutes

Merci infiniment !
fragglerick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 13h07   #4
pgz
Expert Confirmé Sénior
 
Avatar de pgz
 
Homme Pierre GONZALEZ
Développeur Office VBA
Inscription : août 2005
Messages : 3 412
Détails du profil
Informations personnelles :
Nom : Homme Pierre GONZALEZ
Âge : 58
Localisation : France

Informations professionnelles :
Activité : Développeur Office VBA
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 412
Points : 5 934
Points : 5 934
Bonjour.

Citation:
Envoyé par fragglerick Voir le message
En revanche, je souhaiterais que le mail parte automatiquement sans avoir à cliquer sur "Envoyer" lorsque le mail est édité by Outlook...
Dans ce cas tu ne fais pas , mais PGZ
__________________
pluritas non est ponenda sine necessitate - Le rasoir d'Okham
Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon
pgz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 20h42   #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
Un minimum de réflexion m'aurait permis de solutionner tout seul...

Merci infiniment Pierre !
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 19h54.


 
 
 
 
Partenaires

Hébergement Web