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)
Voila, je suis conscient que cette proposition va vous faire bondir par son caractère bidouillé, mais je n'ai trouvé que ca...
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
Si quelqu'un peut m'aider...
Merci d'avance
Partager