VBA : sélectionner plusieurs cellules

Bonjour,

petite question. J'utilise un code VBA (je suis débutant), afin de sélectionner une cellule pour qu'au final cela me prépare un mail. De ce fait, il faudrait encore pouvoir ajouter un ; entre chaque adresses. Ma question :

Est-il possible de lui faire sélectionner plusieurs cellules afin que les adresses mails se suivent (c'est la partie : Bcc = Range("d5") que je dois modifier) ?

Le code :

Sub EnvoiUnMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String, Bcc As String
MailAd = Range("a1")
Subj = Range("d2")
Msg = Msg & Range("d3")
Bcc = Range("d5")
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&Bcc=" & Bcc & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub

Pour résumer, dans les cellules D1 à D250, j'ai une adresse mail par cellule. Le but étant que par cette macro je puisse préparer ce mail avec toutes ces adresses en CCi.

J'ai bien trouvé ce code (en mettant en D les adresses mail et en E le :

Bcc = Range("D5") & Range("E5") & Range("D6") & Range("E5")

Mais le problème c'est que si dois le continuer jusqu'à 250 ça va représenter un code hyperlong...

2test-karim.xlsx (12.54 Ko)

Bonjour,

essaie -->

Union(Range("D5:D6"), Range("E5:E6"))

Suite de ce fil ?? --> https://forum.excel-pratique.com/post84338.html#p84338

Tu aurais pu y rester.

Amicalement

Dan

Edit Dan :

Pour tes cellules de 5 à 250, essaie plutôt ce code :

Sub EnvoiUnMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String, Bcc As String
MailAd = Range("a1")
Subj = Range("d2")
Msg = Msg & Range("d3")
For i = 5 To 250
Bcc = Range("d" & i) & ","
Bcc1 = Bcc & Bcc1
Next i
URLto = "mailto:" & MailAd & "?subject=" & Subj & "&Bcc=" & Bcc1 & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub

Amicalement

Dan

Oui c'est la suite du sujet.

Par contre, le code ne fonctionne pas. Cela me mets :

Type mismatch

-- Sam Mar 27, 2010 11:33 am --

C'est extra, j'ai juste modifié la virgule en point-virgule ce qui donne :

Sub EnvoiUnMail()
Dim MailAd As String
Dim Msg As String
Dim Subj As String
Dim URLto As String, Bcc As String
MailAd = Range("a1")
Subj = Range("d2")
Msg = Msg & Range("d3")
For i = 5 To 250
Bcc = Range("d" & i) & ";"
Bcc1 = Bcc & Bcc1
Next i
URLto = "mailto:" & MailAd & "&Bcc=" & Bcc1 & "&body=" & Msg
ActiveWorkbook.FollowHyperlink Address:=URLto
End Sub
5test-karim-v2.xlsx (14.42 Ko)

Bonjour vinzu, Dan, Forum

J'ai pensé que peut-être, la concaténation des adresses dans la Cellule D5 apportait une solution.

J'ai donc ajouté la fonction concat de JB dans le module et mis en d5 la formule = concat(D6:D250) et là, plantage

- Nouveaux tests et finalement ça fonctionne mais je me trouve strictement limité à 40 adresses (L'envoi ne fonctionne pas au-dela de la formule =concat(D6:D45)

Es-ce du à Outlook en général ou au paramétrage de mon Outlook perso? je l'ignore.

Teste en changeant la formule et dis moi.

Cordialement

Bon: Je viens de voir que tu as mis résolu entre temps et trouvé ce qui ne fonctionnait pas pour adapter leCode de Dan. Ma question reste entière. Qui me dira pourquoi pas plus de 40 adresses.

Bonjour à tous,

Amadéus, il me semble que la limite de destinataires simultanés pour l'envoi d'un mail est en général fixé par ton FAI (fournisseur d'accès à internet) ou encore le serveur de messagerie utilisé.

Il existe également une limite de mails "envoyables" par jour. Tu ne peux donc pas y faire grand chose. Je suppose que s'il n'y avait pas de limites, les spammeurs en profiteraient.

En espérant t'avoir un peu éclairé.

Bonjour

Merci vba-new

Entretemps, j'avais déjà noté cette remarque dans différents sites.

Merci à toi

Cordialement

Rechercher des sujets similaires à "vba selectionner"