Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2560 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Boucle à faire dans macro VBA (Excel)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Boucle à faire dans macro VBA (Excel)

n°2080382
charlie27
Posté le 04-06-2011 à 16:30:38  profilanswer
 

Bonjour,
voici ma macro pour créer des listes de diffusion Outlook à partir d'une liste de mails sous Excel :
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)
Liste.DLName = "Mailing 1"
For Each c In Range("A2:A80" )
Set Desti = OutlookApp.Session.CreateRecipient(c.Value)
Desti.Resolve
Liste.AddMember Desti
Next c
Liste.Save
'Création de liste de diffusion2
Set Liste = OutlookApp.CreateItem(olDistributionListItem)
Liste.DLName = "Mailing 2"
For Each c In Range("A81:A160" )
Set Desti = OutlookApp.Session.CreateRecipient(c.Value)
Desti.Resolve
Liste.AddMember Desti
Next c
Liste.Save
'Création de liste de diffusion3
Set Liste = OutlookApp.CreateItem(olDistributionListItem)
Liste.DLName = "Mailing 3"
For Each c In Range("A161:A240" )
Set Desti = OutlookApp.Session.CreateRecipient(c.Value)
Desti.Resolve
Liste.AddMember Desti
Next c
Liste.Save
ça marche très bien, mais voila que maintenant j'ai 12000 adresses, et je veux faire des listes de 80 noms. partant comme ça, ça va ma faire 150 fois la même chose a taper.
j'ai essayé de faire une boucle (pour n de 1 à 150, avec n comme variable utilisée dans les adresses, mais à ma grande honte, j'ai toujours des erreurs, ça ne marche pas. je suis sur que c'est simple pour vous, non?
merci de m'aider[#46FF00][#FFFF00][/#46FF00][/#FFE200]


---------------
Néophyte complet, vous moquez pas !
mood
Publicité
Posté le 04-06-2011 à 16:30:38  profilanswer
 

n°2080478
tarteflamb​ee
Posté le 05-06-2011 à 15:58:24  profilanswer
 

Bonjour,

 

Ce qui va varier:
le nom de ta liste
ton range

Citation :

Sub CreerListeDiffusion()
'Création de liste de diffusion
Dim OutlookApp As New Outlook.Application
Dim Liste As Outlook.DistListItem
Dim Desti As Outlook.Recipient
dim i as integer
for i = 0 to 149
     Set Liste = OutlookApp.CreateItem(olDistributionListItem)
     Liste.DLName = "Mailing 1" Liste.DLName = "Mailing " & cstr(i)
     For Each c In Range("A2:A80" ) For Each c In Range(cells(i*80+2,1),cells((i+1)*80+1,1))
     Set Desti = OutlookApp.Session.CreateRecipient(c.Value)
     Desti.Resolve
     Liste.AddMember Desti
     Next c
     Liste.Save
     set Liste=nothing
next i
end sub


Message édité par tarteflambee le 05-06-2011 à 15:58:49

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Boucle à faire dans macro VBA (Excel)

 

Sujets relatifs
Besoin d'aide pour macro simple mais efficace !!Intégration adresse email Excel ==> Outlook
créer une macro recherche sur excelMeilleur vendeur sous Excel !
Problème incompatibilité type Excel VBA (Help, Stagiaire en détresse!)VBA EXCEL : copier coller des valeurs automatiquement
mise à jour tables access en VBA 
Plus de sujets relatifs à : Boucle à faire dans macro VBA (Excel)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR