Bonsoir (nuit ?) A tous.
Des heures que je cherche quelque chose que je pensais tout simple.
J'explique :
J'ai une liste dans Excel et un document Word (qui ne sera pas toujours le même)
L'idée : Ajouter un signet au document Word ouvert (appelé texte) et lancer une macro dans Excel, ce programme va balayer la liste Excel, et pour chaque ligne dans Excel , il va copier le doc word actif dans un nouveau document Word (pour ne pas modifier l'original et parce que je ne sais pas supprimer un texte entré précédemment), Copié la ligne Excel à l'endroit du signet, imprimer le document puis le fermer. Retourner à l'original Word, si ligne suivante d'Excel y a une ligne à imprimer on recommence la procédure.
Pour faire ceci je dois donc utiliser le document Word alors que je ne connais pas forcément son chemin.
Jai donc pensé à "GETOBJECT"
Ben vous me croirez ou non, ça ne fonctionne pas (pas comme je l'entends du moins)
Ci dessous le code (qui n'est pas fini bien sur)
La il fonctionne , ce qui me chagrine c'est que je suis obligé de rentrer le chemin dans le premier Getobject alors que pas du tout pour le second, le nom du fichier suffit.
Mais pourquoi ?
J'ai du faire une erreur bête car on ne parle pas de ce problème sur le net, et j'ai cherché. La syntaxe que je trouve dans les forums est celle que j'utilise. Pourtant il est indiqué que le chemin n'est pas obligatoire. Ou me goure je ?
Si quelqu'un à une idée, ce "petit" problème m'a vanné.
En tout cas merci à tous. ceux qui auront eu le courage d'aller jusqu'au bout de ce message
Bonne chance
Des heures que je cherche quelque chose que je pensais tout simple.
J'explique :
J'ai une liste dans Excel et un document Word (qui ne sera pas toujours le même)
L'idée : Ajouter un signet au document Word ouvert (appelé texte) et lancer une macro dans Excel, ce programme va balayer la liste Excel, et pour chaque ligne dans Excel , il va copier le doc word actif dans un nouveau document Word (pour ne pas modifier l'original et parce que je ne sais pas supprimer un texte entré précédemment), Copié la ligne Excel à l'endroit du signet, imprimer le document puis le fermer. Retourner à l'original Word, si ligne suivante d'Excel y a une ligne à imprimer on recommence la procédure.
Pour faire ceci je dois donc utiliser le document Word alors que je ne connais pas forcément son chemin.
Jai donc pensé à "GETOBJECT"
Ben vous me croirez ou non, ça ne fonctionne pas (pas comme je l'entends du moins)
Ci dessous le code (qui n'est pas fini bien sur)
Code:
Private Sub CommandButton_OK_Click()
Dim WordDoc As Word.Document
Dim WordDoc2 As Word.Document
Dim WordApp As Word.Application
Dim Texte As String
Dim NomWord As String, NomWord2 As String
Dim NomExcel As String
NomExcel = Me.TextBox_Nom_Excel
NomWord = Me.TextBox_Nom_Word
Windows(NomExcel).Activate
Texte = Range("a1")
Set WordApp = CreateObject("Word.Application")
'Set WordDoc = GetObject(NomWord)
Set WordDoc = GetObject("D:\Nos documents\AutoEntrepriseVincent\ProgOnline\Guillaumme Roux\PubliWord\Test.docx")
WordDoc.Range.Select
WordDoc.Content.Copy
WordApp.Documents.Add.Activate
WordApp.Visible = True
NomWord2 = WordApp.ActiveDocument.Name
Set WordDoc2 = GetObject(NomWord2)
WordApp.Selection.Paste
WordDoc2.Bookmarks("texte").Range.Text = Texte
End Sub
La il fonctionne , ce qui me chagrine c'est que je suis obligé de rentrer le chemin dans le premier Getobject alors que pas du tout pour le second, le nom du fichier suffit.
Mais pourquoi ?
J'ai du faire une erreur bête car on ne parle pas de ce problème sur le net, et j'ai cherché. La syntaxe que je trouve dans les forums est celle que j'utilise. Pourtant il est indiqué que le chemin n'est pas obligatoire. Ou me goure je ?
Si quelqu'un à une idée, ce "petit" problème m'a vanné.
En tout cas merci à tous. ceux qui auront eu le courage d'aller jusqu'au bout de ce message
Bonne chance