Bonjour

Largement satisfait du coup de pouce apporté la dernière fois, je m'en remets une nouvelle fois à vous

Grâce à Pierre Fauconnier, j'ai donc réussi à modifier le code VBA, expliqué ici, pour n'envoyer des mails à une liste d'adresses QUE si ceux ci était visibles dans le document excel.

Mais voilà, j'ai un petit problème, que j'avais déjà remarqué avant, qui s'est plus ou moins résolu en ne prennant en compte que les adresses visibles, mais qui va potentiellement se reproduire.
Je remets ici le code utilisé :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub CommandButton1_Click()
'compteur de ligne
i = 3
 
'les adresses a prendre en consideration
 
bcc_a_prendre = ""
 
 
 
Do
If Rows(i).Hidden = False Then bcc_a_prendre = bcc_a_prendre & Range("F" & i).Value & ";"
i = i + 1
Loop Until Range("D" & i).Value = ""
 
 
 
 
 
'comme il y a un ; en trop dans chaque champ, l'enlever mais verifier que le champs n'est pas vide
 
If Len(bcc_a_prendre) > 0 Then
bcc_a_prendre = Left(bcc_a_prendre, Len(bcc_a_prendre) - 1)
End If
 
'preparation du mail
Hyperlien = "mailto:" & "?"
Hyperlien = Hyperlien & "subject="
 
Hyperlien = Hyperlien & "&Bcc=" & bcc_a_prendre
 
 
ActiveWorkbook.FollowHyperlink Hyperlien
 
 
 
End Sub
Le but est donc, à partir d'un tableau excel avec des adresses mail, de faire un mail groupé pour toutes ces adresses dans outlook, avec les adresses dans le champ Bcc.

Mais voilà, quand j'ai une liste trop grande d'adresses mail à prendre en concidération, j'ai un rapport de bug au moment où je clique sur le bouton. Le fait de ne prendre que les lignes sélectionnées a donc reporté le problème à plus tard, mais j'ai l'impression que le nombre de caractères dans le lien "mailto:blablabla" est limité.

Je me demandais donc s'il était possible de modifier ce code pour dire, par exemple, que si le nombre de caractères est plus grand que X, ou que le nombre de cases (où sont inscrites les adresses mails) est suppérieur à X, alors faire la même chose mais en plusieurs mail. (par exemple, arrivé à 50 adresses mails/cases/lignes du tableau excel, continuer dans un second mail, etc.)


Par acquis de conscience, j'explique quand même le bug, au cas où je le comprendrais mal :
Quand je prends toute la liste des adresses, j'ai un message d'erreur "Run-time error '-2147221020 (800401e4)': The adresses of this site is not valid. Check the adresses and try again." ; et quand je cliques sur "debug", il surligne dans le code la ligne "ActiveWorkbook.FollowHyperlink Hyperlien".


Un tout grand merci d'avance