Jilde
XLDnaute Occasionnel
Bonjour à tous !!
Voilà maintenant quelques jours que je me prends la tête à développer une machine à gaz pour ma boite.
Et jusqu'à maintenant, je m'en suis pas trop mal tirer !
La machine en question :
On alimente une base de données sous Excel.
Lorsqu'on a fini de remplir une ligne (nom, prénom, N° de sécu, Société, etc ...) :
1/ on clique sur un bouton,
2/ ça génère entre 4 et 6 fichiers à partir de modèles Word,
3/ ça renomme ces fichiers en fonction des données de la base (nom et prénom par ex),
4/ ça crée un répertoire au nom du client et ça met tous les fichiers Word dedans.
Jusque là, tout va bien, ça marche grâce aux infos que j'ai pu trouver sur ce sacré forum !
Mais maintenant, je bloque ...
Dans chacun des fichiers créés, je souhaite remplacer du texte par des valeurs de la base Excel.
J'ai donc créé des variables reprenant les valeurs de certaines cellules, mais je n'arrive pas à remplacer le texte dans Word par les valeurs de la base Excel ...
Je peux pas joindre les fichiers car ils sont assez important et contiennent des infos confidentielles.
Mais voici une partie du code :
Jusqu'à l'ouverture du fichier Word, tout va bien, mais après, Vb me dit "Objet requis" et stoppe.
Mon fichier reste ouvert, mais rien n'a été remplacer dedans ...
Alors je fais appel aux pros du VB pour avoir un coup de main !
S'il vous manque des infos, je ne suis pas loin.
Merci d'avance :; !!
Voilà maintenant quelques jours que je me prends la tête à développer une machine à gaz pour ma boite.
Et jusqu'à maintenant, je m'en suis pas trop mal tirer !
La machine en question :
On alimente une base de données sous Excel.
Lorsqu'on a fini de remplir une ligne (nom, prénom, N° de sécu, Société, etc ...) :
1/ on clique sur un bouton,
2/ ça génère entre 4 et 6 fichiers à partir de modèles Word,
3/ ça renomme ces fichiers en fonction des données de la base (nom et prénom par ex),
4/ ça crée un répertoire au nom du client et ça met tous les fichiers Word dedans.
Jusque là, tout va bien, ça marche grâce aux infos que j'ai pu trouver sur ce sacré forum !
Mais maintenant, je bloque ...
Dans chacun des fichiers créés, je souhaite remplacer du texte par des valeurs de la base Excel.
J'ai donc créé des variables reprenant les valeurs de certaines cellules, mais je n'arrive pas à remplacer le texte dans Word par les valeurs de la base Excel ...
Je peux pas joindre les fichiers car ils sont assez important et contiennent des infos confidentielles.
Mais voici une partie du code :
Code:
'Déclaration, affectation et vérification de la variable extraite de la base Excel
'Intersection de la ligne active et de la colonne 14
Dim New_Text
New_Text = Cells(ActiveCell.Row, 14)
MsgBox "Le nouveau texte est :" & New_Text
'On définit un objet Word :
Set WordApp = CreateObject("Word.application")
'On ouvre le fichier Word "New_Fichier" qui a été créé précédemment :
Set WordDoc = WordApp.Documents.Open(New_Fichier_1er_M3)
'On met Word au premier plan (True) durant la procédure pour voir ce qu'il s'y passe ...
WordApp.Visible = True
'C'est à partir de là ou ça merdouille ...
'Recherche dans le document Word le texte à remplacer
WordApp.Selection.Find.ClearFormatting
WordApp.Selection.Find.Text = "TEXTE_A_REMPLACER"
'Remplace le texte à remplacer par le nouveau texte
WordApp.Selection.Find.Replacement.ClearFormatting
WordApp.Selection.Find.Replacement.Text = New_Text
WordApp.Selection.Find.Execute Replace:=Word.WdReplace.wdReplaceAll
'On enregistre et on ferme le document word
WordDoc.Close True
'On laisse au systeme le temps d'enregistrer le fichier
DoEvents
'On quitte Word :
WordApp.Quit
'On vide les objets WordApp & WdDoc :
Set WordApp = Nothing
Set WordDoc = Nothing
Jusqu'à l'ouverture du fichier Word, tout va bien, mais après, Vb me dit "Objet requis" et stoppe.
Mon fichier reste ouvert, mais rien n'a été remplacer dedans ...
Alors je fais appel aux pros du VB pour avoir un coup de main !
S'il vous manque des infos, je ne suis pas loin.
Merci d'avance :; !!