Envoyer mail access a plus de 99 personnes

Résolu
zenzolarticho Messages postés 12 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 24 juin 2008 - 24 juin 2008 à 11:40
zenzolarticho Messages postés 12 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 24 juin 2008 - 24 juin 2008 à 13:03
Bonjour a tous,

 voila mon code
PrivateSub ContactGrp_Click()
Dim db As DAO.Database
Dim rec As DAO.Recordset
Dim strmail, strsql, Email AsString

Email = "mailto:" & GlobalContactEmail & "?bcc="
strsql = "SELECT Contacts.[EmailName] FROM Contacts WHEREContacts.[ContactTypeID]=" & Me.rch_grp.Value & " AND Contacts.[EmailName]<>'' ;"

Set db = CurrentDb()
Set rec = db.OpenRecordset(strsql)

DoUntil rec.EOF = True
If rec!emailname <> " "Then
Email = Email & rec!emailname & ", "
EndIf
rec.MoveNext
Loop
 
rec.Close

ShellExecute 0, "Open", Email, 0, ".", vbNormalFocus
EndSub

il me permet d'envoyer un mail avec outlook aux contacts du formulaire
selectionné par la la liste déroulante. Le problème est que cela ne
fonctionne plus lorsque j'ai plus de 99 contacts, le bouton ne lance
meme plus outlook.


Je voudrais donc essaye d'envoyer plusieurs mails lorsque j'ai plus de
99 contacts, mais comment faire? Je pense que je dois utiliser un
pointeur qui va me dire quand je suis a 99, mais je ne sait pas trop
comment procéder sous vba. Un petit coup de pouce serait bienvenue car
je n'arrive pas a terminer cette fonction.


est ce que je peut faire stop mon rec avant EOF? ou est ce que je dois
faire intervenir un i qui va s'incrémenter a chaque rec.movenext? et
dans ce cas comment je doit l utiliser car je n'y arrive pas.


Merci d'avance pour votre soutien

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 12:56




je t'ai fait un truc un peu à l'arrache, mais le principe y est, revois juste un truc, dans le If iCounter 99, je t'ai remis Email ...
Faudra le remodifier, car j'ai réutilisé ton GlobalContactEmail..

Option Explicit

Private Sub ContactGrp_Click()

Dim db As DAO.Database
Dim rec As DAO.Recordset
Dim strmail As String, strsql As String, Email As String
Dim iCounter As Integer

    Email = "mailto:" & GlobalContactEmail & "?bcc="
    strsql = "SELECT Contacts.[EmailName] FROM Contacts
WHEREContacts.[ContactTypeID]=" & Me.rch_grp.Value & "  AND
Contacts.[EmailName]<>'' ;"

Set db = CurrentDb()
Set rec = db.OpenRecordset(strsql)

Do Until rec.EOF = True
    iCounter = iCounter + 1
    If rec!emailname <> " " Then
        Email = Email & rec!emailname & ", "
    End If
    
    If iCounter = 99 Then
        iCounter = 0
        ShellExecute 0, "Open", Email, 0, ".", vbNormalFocus
        Email = "mailto:" & GlobalContactEmail & "?bcc="
    End If
    rec.MoveNext
Loop
 
    rec.Close

    ShellExecute 0, "Open", Email, 0, ".", vbNormalFocus
End Sub
~
<small>Mortalino ~ [code.aspx?ID=39466 Colorisation
automatique]</small>

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
3
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
24 juin 2008 à 11:49
salut,

c'est normal, nombreux FAI (orange, de sûr) limite le nombre de destinataires à 100, afin d'éviter les spam.
Solution : à toi de te faire un compteur, dès que tu arrive à 99, tu envoies aux destinataires, puis tu recontinues ta boucle pour réenvoyer aux autres

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
0
zenzolarticho Messages postés 12 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 24 juin 2008
24 juin 2008 à 12:46
oui c'est justement mon probléme j'ai essayé de faire un compteur mais je n'y arrive pas bien, je suis débutant en vba. Si tu avait un exemple ou un poste qui explique clairement comment faire, car avec mes Do until i=99 , I= i+1 je pense que c est pas trop comme ça puisque je n'y arrive pas.

Si tu pouvais me montrer comment faire un compteur.

Merci beaucoup
0
zenzolarticho Messages postés 12 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 24 juin 2008
24 juin 2008 à 12:48
de plus ce qui me parait bizarre c'est que ce n'est pas au moment de l'envoi que j'ai une erreur , mais tout simplement que lorsque je click sur le bouton, plus rien ne se passe au dela de 99 contact dans mon formulaire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zenzolarticho Messages postés 12 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 24 juin 2008
24 juin 2008 à 13:03
Merci beaucoup pour ton aide c super sympa :D
0
Rejoignez-nous