IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Liste de diffusion Mail selon plage de cellule variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Liste de diffusion Mail selon plage de cellule variable
    Bonjour,

    Je voudrais envoyer un mail dans excel à une liste de destinataire selon une plage de cellule variable. J'ai donc essayé quelque chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Do While Range("f" & i).Value <> Empty
        If Range("f" & i).Value <> Empty Then
        .Item.to = Range("f" & i).Value
        i = i + 1
        End If
        Loop
    Cependant il ne m'ajoute pas les destinataires il me les remplace au fur et à mesure.

    G essayé le .item.to.add mais il semblerait que ça soit pour ajouter des contats dans le carnet d'adresse.

    Pouvez vous m'aider.
    Merci d'avance.
    David

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour


    Je voudrais envoyer un mail dans excel
    Quel type de procédure utilises tu ?


    michel

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Bonjour,
    Peux tu me dire ce que tu appelles procédure car je débute en vba et ne connais pas très bien les normes de ce langage.
    En fait j'utilise le petit bout de code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub envoiPlageCellules_Excel2002()
    'http://support.microsoft.com/default.aspx?scid=kb;en-us;816644
    ActiveSheet.Range("A1:B5").Select ' la plage de cellules à envoyer
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données ..."
        .Item.To = "destinataire@provider.fr"
        .Item.Subject = "le sujet"
        .Item.Send
    End With
    End Sub
    En cherchant un peu j'ai echange le do while par un for each mais cela ne change rien.


    Merci d'avance.
    David

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour

    Tu peux utiliser cette adaptation

    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
    Sub envoiPlageCellules_Excel2002()
    Dim Dest As String
    Dim Cell As Range
     
    For Each Cell In Range("F1:F" & Range("F65536").End(xlUp).Row)
        Dest = Dest & ";" & Cell
    Next Cell
     
    'http://support.microsoft.com/default.aspx?scid=kb;en-us;816644
    ActiveSheet.Range("A1:B5").Select ' la plage de cellules à envoyer
    ActiveWorkbook.EnvelopeVisible = True
     
    With ActiveSheet.MailEnvelope
        .Introduction = "bonjour , ci joint les données ..."
        .Item.To = Dest
        .Item.Subject = "le sujet"
        .Item.Send
    End With
    End Sub


    bonne journée
    michel

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 17
    Points : 15
    Points
    15
    Par défaut Demande d'explication
    Bonjour,

    Ca marche

    Peux tu m'expliquer pourquoi ca ne marchait avec ma façon de faire.

    Merci d'avance.
    David

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Points : 20 147
    Points
    20 147
    Par défaut
    bonjour


    à chaque itération de la boucle tu écrasais l'élément précédent.


    La solution proposée crée une chaine de caractère composée de toutes les adresses, séparées par un point-virgule ";"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each Cell In Range("F1:F" & Range("F65536").End(xlUp).Row)
        Dest = Dest & ";" & Cell
    Next Cell

    Et cette chaine est ensuite utilisée pour envoyer le mail




    michel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Selection d'une plage de cellules variables
    Par bykeman dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/06/2008, 10h20
  2. Sélectionner une plage de cellules variables pour faire un graphique?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 18h06
  3. Somme dépendant de plage de cellules variable
    Par Talieth dans le forum Excel
    Réponses: 4
    Dernier message: 23/04/2007, 10h37
  4. appliquer une macro a une plage de cellule variable
    Par johndeuf dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/11/2006, 16h18
  5. [VBA-E]Selection plage de cellules variable
    Par julien5 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/05/2006, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo