Bonjour, j'avais creé une discussion pour pallier mon probléme avec une multiselection dans une listebox, mais je fais un autre poste car une solution pourrait etre plus adapté.
En effet j'ai mon code suivant
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.
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 Private Sub ContactGrp_Click() Dim db As DAO.Database Dim rec As DAO.Recordset Dim strmail, strsql, Email As String 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 If rec!emailname <> " " Then Email = Email & rec!emailname & ", " End If rec.MoveNext Loop rec.Close ShellExecute 0, "Open", Email, 0, ".", vbNormalFocus End Sub
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![]()
Partager