[VBA excel] Modifier un fichier Word a partir d'une feuille excel [Résolu]

Signaler
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
yop yop tout le monde.
ce matin j'ai pensez a un petit projet a mettre en place qui pourrai me servir dans quelque mois.
mon but et d'apres un "base de donnée excel" un imprime une lette type avec Word.
je m'explique, ma feuille excel contient sur chaque ligne dans l'ordre des colonnes:
Nom|Prenom|jeux1|jeux2|jeux3|jeux4
Pour ce qui concerne les 4 dernieres colonnes, il se peut qu'un ou deux d'entres elles soit vite
je cré l'userform pour selectionner les lignes ça je me débrouille.
Mais ensuite je cré une lettre type word, et je voudrai que pour ma ligne selectionner on remplace les mot dans la lettre type.
ce matin en surfant j'ai trouvé un tutorial qui permetté de changer les signets dans un doc word, en voici le code :


Code :
Sub test()
Dim Lettre As String
Dim LeMontant
Dim LeTexte2
Dim ObjWord As Word.Application
Dim LeDocWord As Word.Document


On Error Resume Next


Lettre = ThisWorkbook.Path & "\salut1.doc"
Set ObjWord = CreateObject("Word.Application")
ObjWord.Visible = True
Set LeDocWord = ObjWord.Documents.Open(Lettre)
nom = [A1]
prenom = [B1]
With LeDocWord
.Bookmarks("nom").Range.Text = nom
.Bookmarks("prenom").Range.Text = prenom
End With


'LeDocWord.Save
'ObjWord.Quit


Set ObjWord = Nothing
End Sub


 


Lorsque je fait ceci, tout marche bien avec le nom et prenom.
Mais maitenant dans le texte de la lettre je voudrai faire un recapitulatif des 4 dernieres colonnes dans le style:
- jeux1
- jeux2
- jeux3
......
j'ai bien sur 2-3 phrase en entete et ensuite j'implante le récapitulatif.
mais je ne sais pas du tout comment faire.
j'avais penser a faire une concatenation de chaque type,




Code :
jeux1 = [C1]
jeux2 = [D1]
....
total ="-" &  jeux1 & "-" & jeux2 & ....


 


mais avec ceci tout va se mettre a la suite et il n'y aura pas de retour chariot


Est ce que quelqu'un voit un autre idée?
je sais pas si j'ai été trés claire, enfin j'espere que vous comprendré

4 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
et en faisant ça :

total ="-" &  jeux1 & vbCrLf & "-" & jeux2 & ....

c'est bon ?

ça intercalle le retour chariot et la nouvelle ligne entre chaque Jeux


















@++
<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype>  Mortalino 

Le Mystérieux Chevalier "Provençal, le Gaulois"
N'oubliez pas de lire le règlement
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010

merci mortalino je teste ca des que j'ai le temps et je te tiens au courant.
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
18 octobre 2010

ca marche super merci encore énormément.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
De rien, c'est cadeau ça fait plaisir !

@++

Mortalino