Envoyer mail access a plus de 99 personnes [Résolu]

Signaler
Messages postés
12
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
Messages postés
12
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008
-
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

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18




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
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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
Messages postés
12
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008

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
Messages postés
12
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008

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
Messages postés
12
Date d'inscription
lundi 23 juillet 2007
Statut
Membre
Dernière intervention
24 juin 2008

Merci beaucoup pour ton aide c super sympa :D