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

VBA Word Discussion :

VBA WORD Macro de séparation des adresses mails par "; " pour préparation publipostage [WD-2010]


Sujet :

VBA Word

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    bureau de conseil
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : bureau de conseil
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut VBA WORD Macro de séparation des adresses mails par "; " pour préparation publipostage
    Bonjour,

    Après une demi journée de bidouillage, je me résous a finalement demander conseil avant de m'arracher mes derniers cheveux...

    Mon problème:

    J'ai un listing (long) d'adresses mails sous word chacune d'elle étant séparé par sauts de lignes, nombres d'espaces variables,... et je souhaite remettre en forme ce listing a l'aide d'une macro afin de directement pouvoir les copier dans la barre destinataire d'un mail collectif.

    Pour cela elles, tous les champs adresses doivent être séparés par "; ". J'ai donc écrit le code suivant en bidouillant comme pas possible (je précise que je suis newbie sur VBA Word)


    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
    Sub publi2()
     
    Dim intP As Integer
    Dim intCp As Integer
     
    intP = ActiveDocument.Paragraphs.Count
    ' afin d'éviter le crash de la macro et lui donner une fin
     
    Selection.Start = ActiveDocument.Content.Start
    Selection.End = ActiveDocument.Content.Start
    ' pour mettre le curseur au début du document
     
    For intCp = 1 To intP
     
    If Paragraph = " " Then Paragraphs.Delete
    'afin de supprimer les lignes vides du document
     
        Selection.EndKey unit:=wdLine
        Selection.TypeText Text:="; "
        Do
        Selection.MoveRight unit:=wdCharacter, Count:=1, Extend:=wdExtend
     
    If Selection.Text = " " Then Selection.Delete unit:=wdCharacter,Count:=1 Else GoTo patch
     
    ' sur le If selection.text = " " je veux dire que si le caractère sélectionné 
    'par le curseur est un espace, la macro supprime l'espace et repete ce
    ' process tant qu'il y'a des espaces afin de se retrouver avec la prochaine
    ' adresse de la liste directement après le "; " et pour l'instant c'est cette
    ' partie de la macro qui a l'air de ne pas fonctionner...
     
     
        Loop
    patch:
    Next
     
     
    End Sub
    Voila, je suis conscient que cette proposition va vous faire bondir par son caractère bidouillé, mais je n'ai trouvé que ca...

    Si quelqu'un peut m'aider...
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pourquoi ne pas simplement utiliser la fonction recherche et remplacement de Word ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    bureau de conseil
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : bureau de conseil
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour et merci de votre réponse rapide.

    Je ne vois pas comment utiliser cette fonction dans ma problématique.

    En recherchant les "espaces" du documents et en les remplaçant par "; " je me retrouverais avec "adresse@dddd.com; ; ; adresse2@cccc.com" ce qui ne me permettras pas de faire mon publipostage.

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    La première étape est les remplacement de tous les doubles espaces par des simples espaces tant qu'il en existe.
    ensuite, les simples espaces par des ;

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    bureau de conseil
    Inscrit en
    Avril 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : bureau de conseil
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2011
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Ca fonctionne parfaitement.

    Merci beaucoup.

    Je marque [Résolu] dans l'objet?

  6. #6
    Membre éclairé Avatar de Souriane
    Femme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2009
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2009
    Messages : 541
    Points : 758
    Points
    758
    Par défaut
    Bonjour Lilian,

    non pour marquer résolu, tu cliques dans le bas complètement de la page sur le bouton "Résolu". C'est gentil d'y avoir penser et d'avoir demandé!

    Bonne journée!

    Souriane

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

Discussions similaires

  1. Vérification des adresses mails
    Par ca_mido dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 23/01/2008, 19h24
  2. Saisie auto des adresses mail
    Par Yepazix dans le forum Outlook
    Réponses: 6
    Dernier message: 17/01/2008, 16h26
  3. Utilisation des adresses mails
    Par LP-mpascolo dans le forum Excel
    Réponses: 3
    Dernier message: 02/11/2007, 10h47
  4. [VBA-WORD] je voudrais insérer des images automatiquement.
    Par SharkAngel dans le forum VBA Word
    Réponses: 1
    Dernier message: 21/09/2006, 11h24
  5. [VBA][outlook] récupération des adresses mail
    Par arno2004 dans le forum VBA Outlook
    Réponses: 4
    Dernier message: 27/07/2004, 18h48

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