Vba envoie contenu d'une cellule dans une lettre word

Fermé
pouya001 - Modifié par pouya001 le 5/03/2013 à 13:46
 pouya001 - 5 mars 2013 à 13:39
Bonjour à tous je suis débutant en vba et j'essaie d'écrire un code qui me permet à partir d'une base de donnée excel d'ouvrir plusieurs lettre Word identique avec seul un numéro de dossier différent dans chaque lettre ce numéro de dossier se trouve ex. ds la colonne B.

Sub Lettre()

Dim i As Integer, j As Byte

j = Range("R1") ' R1 contient le nombre de cellule non vide ds la Cells (i, 2)

For i = 2 To j ' on dit à quelle numéro i doit s'arrêter

Set WordApp = CreateObject("word.application") 'ouvre une session Word
Set WordDoc = WordApp.Documents.Open("C:\Desktop\Document\Lettre1.doc", ReadOnly:=True) 'ouvre le document Word
WordApp.Visible = False 'Word est masqué pendant l'opération


'les signets du document Word sont nommés Signet1 , Signet2 , Signet3
WordDoc.Bookmarks("Signet" & 2).Range.Text = Cells(i, 2) 'envoie "Bi" vers signet 1


WordApp.Visible = True 'affiche le document Word


Next i 'on dit de passer au prochain i




End Sub



A voir également:

1 réponse

donc ce code que j'ai écrit marche très bien le doc "Lettre 1" qui est en Français s'ouvre 10 x avec 10 numéro de dossier différent (sachant qu'il y a 10 n° de dossier introduit dans la colonne B),

Voici mon problème, j'habite en Belgique donc j'ai des clients Hollandais et Français, donc j'ai un 2e doc "Lettre2" qui est en Hollandais, dans ma base de donnée la colone C indique "NL" ou "FR" devant le numéro de dossier de la colonne B, j'aimerais que les n°dossiers FR soit envoyé vers "Lettre1" et les N°dossier NL soit envoyé vers Lettre2, avec le même principe que mon code ici au dessus, un génie ici a une idée des codes que je dois ajouter?

UN grand merci d'avance pour votre aide
0