Boucle dans macro Visual Basic (Excel)
Fermé
charlie27
-
4 juin 2011 à 16:23
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 7 juin 2011 à 09:49
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 7 juin 2011 à 09:49
A voir également:
- Boucle dans macro Visual Basic (Excel)
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Visual basic - Télécharger - Langages
- Liste déroulante excel - Guide
- Microsoft 365 basic - Accueil - Microsoft Office
- Microsoft visual c++ runtime - Guide
1 réponse
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
155
7 juin 2011 à 09:49
7 juin 2011 à 09:49
Bonjour,
voici ta solution :
Sub CreerListeDiffusion()
'Création de liste de diffusion
Dim OutlookApp As New Outlook.Application
Dim Liste As Outlook.DistListItem
Dim Desti As Outlook.Recipient
Set Liste = OutlookApp.CreateItem(olDistributionListItem)
i=2
a=1
do while cells(i,1)<>""
Liste.DLName = "Mailing" & a
b=1
do while b <=80
if cells(i,1)<>"" then
Set Desti = OutlookApp.Session.CreateRecipient(cells(i,1).Value)
Desti.Resolve
Liste.AddMember Desti
end if
i=i+1
b=b+1
loop
Liste.save
a=a+1
loop
Attention, ca va te créer à chaque fois une liste Mailing 1, Mailing 2... Donc si elles existent déjà, ca va bugger. Soit tu les renommes une fois créées soit tu ajoutes un bout de code qui supprime le mailing existant pour la recréer.
voici ta solution :
Sub CreerListeDiffusion()
'Création de liste de diffusion
Dim OutlookApp As New Outlook.Application
Dim Liste As Outlook.DistListItem
Dim Desti As Outlook.Recipient
Set Liste = OutlookApp.CreateItem(olDistributionListItem)
i=2
a=1
do while cells(i,1)<>""
Liste.DLName = "Mailing" & a
b=1
do while b <=80
if cells(i,1)<>"" then
Set Desti = OutlookApp.Session.CreateRecipient(cells(i,1).Value)
Desti.Resolve
Liste.AddMember Desti
end if
i=i+1
b=b+1
loop
Liste.save
a=a+1
loop
Attention, ca va te créer à chaque fois une liste Mailing 1, Mailing 2... Donc si elles existent déjà, ca va bugger. Soit tu les renommes une fois créées soit tu ajoutes un bout de code qui supprime le mailing existant pour la recréer.