[Catégorie modifiée VB6 --> VBA] lancer un publipostage de excel vers word a par

nileduc Messages postés 4 Date d'inscription mercredi 4 mars 2009 Statut Membre Dernière intervention 5 octobre 2010 - 5 oct. 2010 à 11:25
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 - 5 oct. 2010 à 20:44
Bonjour à tous

je souhaite lancer un publipostage de excel vers word a partir d'une macro excel en gerant les options du publipostage (selectionner uniquement les "non vides") dans une base excel.
c'est a dire :
j'ai une bible excel où se trouve plusieurs noms.
lorsque j'ai selectionné certain noms je souhaite leur envoyer un courrier Word.
je souhaiterais donc pouvoir lancer une macro qui pourrait m'ouvrir word, excecuter le publipostage en selectionnant uniquement les noms que j'aurai choisi dans ma bible excel.

est ce que quelqu'un aurait une idée? s'il vous plait, je galere...

MERCI...
Nico.
A voir également:

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 oct. 2010 à 20:27
Salut

Déjà, essaye de faire un publipostage pour tout ton fichier Excel.
Pour ce faire, ouvre Word et lancer l'enregistreur de macro pendant que tu fait les manips nécessaires en pointant vers ton fichier Excel.
Le code ainsi récupéré sera importable (*) et exécutable sous Excel.
(*) à condition de déclarer sous Excel une référence à Word et de faire faire une ouverture propre de Word depuis Excel - voir les codes du site et l'aide de Excel ou Word.

Une fois la macro au point, il te suffira d'ajouter une colonne à ton fichier Excel qui désignera les lignes à inclure ou pas dans le publipostage ET de modifier le code initial pour faire le test de cette nouvelle colonne, ligne à ligne.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
5 oct. 2010 à 20:44
Bonsoir,

Ci-dessous code qui permet de récupèrer les cellules sélectionnées dans un classeur.

Ces cellules sont enregistrées dans un fichier qui lui est lié avec un fichier Word.

Ne pas oublier de sélectionner les références dans VBA :
Microsoft Active X version xxx
Microsoft Word version x

En espérant que cela va vous aider.



Public Sub Constitution_fichier()
'
'
'

'

Dim cellule As Range
Dim Itableau As String

Dim Iindice As Integer

Open "Test.txt" For Output As #1


'
'
'
Iindice = 0

For Each cellule In Selection

If Iindice = 6 Then

Itableau = Cells(cellule.Row, cellule.Column)
Iindice = 0

Print #1, Itableau

Else

Itableau = Cells(cellule.Row, cellule.Column)
Print #1, Itableau & ";";
Iindice = Iindice + 1

End If


Next cellule

Close #1


'Ouverture Word

Dim AppWord As New Word.Application
Dim DocWord As New Word.Document


' Affichage

With AppWord
.Visible = True
Set DocWord = .Documents.Open("C:\Excel\Test.doc")
.Activate
.ActiveDocument.MailMerge.Destination = wdSendToNewDocument
.ActiveDocument.MailMerge.Execute
End With


MsgBox " Ok !"


End Sub
0
Rejoignez-nous