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 :

Macro pour liste de diffusion


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1
    Par défaut Macro pour liste de diffusion
    Bonjour, je suis nouveau sur ce forum, j'espère avoir posté mon sujet au bon endroit !!
    Voilà, j'aurais besoin de votre aide pour écrire une macro me permettant, à partir d'une liste de données sous excel, d'extraire les adresses mails sélectionnées pour en faire une liste d'envoi. En fait, ça j'y suis arrivé. Le problème est que mon logiciel de messagerie n'accepte pas plus de 49 destinataires. Je cherche donc un moyen pour qu'une fois les 49 adresses compactées, il me les affichent, et effectue un nouveau compactage qu'il affichera dans la cellule d'après, etc etc...jusqu'à ce que la sélection soit finie. Je ne sais pas si je m'exprime bien. Voici le code que j'ai écris jusqu'à maintenant avec les explications :

    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
    Sub Mail()
     
    For Each cellule In Selection                    ' pour chaque cellule sélectionnée
     
    If Not IsEmpty(cellule.Value) Then           ' Si elle n'est pas vide
     
        If cellule.EntireRow.Hidden = False Then  ' si la ligne n'est pas cachée (car filtres)
     
            If cellule.Font.Bold = False Then  ' si elle n'est pas en gras (permet d'enlever l'entête de colonne)
     
            contenu = contenu & cellule & "; "  ' alors compactage des adresses mails en les séparant par un point virgule
     
            End If
     
        End If
     
    End If
     
    Next
     
    Cells(1, 4) = contenu          ' affichage du compactage ligne 1 colonne 4
     
    End Sub
    Voilà, j'aimerais garder ce principe, mais quand j'arrive a 49 adresses compactées, j'aimerais que les 49 suivantes soient affichées dans la colonne d'après, et ainsi de suite....

    Merci de votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour nikodeb,

    Une possibilité avec des compteurs (I et J) :

    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
    38
    39
    40
    41
    42
     
     
    Sub Mail()
     
        Dim Cellule As Range
        Dim I As Integer
        Dim J As Integer
     
        J = 4
     
        For Each Cellule In Selection
     
        If Not IsEmpty(Cellule.Value) Then
     
            If Cellule.EntireRow.Hidden = False Then
     
                If Cellule.Font.Bold = False Then
     
                    If I < 49 Then
     
                        contenu = contenu & Cellule & "; "
                        I = I + 1
     
                    Else
     
                        Cells(1, J) = contenu
                        contenu = ""
                        J = J + 1
                        I = 0
     
                End If
     
            End If
     
     
        End If
     
        Next
     
        Set Cellule = Nothing
     
    End Sub
    Bonne journée !

Discussions similaires

  1. Réponses: 25
    Dernier message: 26/06/2009, 14h15
  2. Macro pour coller série de cellules dans liste
    Par Phyvon61 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2009, 19h26
  3. [E-03] Macro pour créer une liste sans les vides
    Par PYJ59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/12/2008, 10h19
  4. Macro pour liste contacts
    Par GENI36 dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 16/10/2008, 12h57
  5. macro pour remplire une liste dans une même cellule
    Par fabiend83 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/07/2006, 09h32

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