XL 2010 Impressiom PDF Creator / Completer un document Word via Excel

Lowthar

XLDnaute Nouveau
Bonjour,

Présentation sujet numéro 1 :
Actuellement, j'ai développer un programme VBA qui me permet d'imprimer à la suite des documents Word avec la fonction ShellExcecute.

VB:
ShellExecute 0, "print", C:\Documents and Settings\.......\toto1.docx, "", "", SW_SHOWNORMAL
Application.Wait (Now + TimeValue("0:00:10"))
ShellExecute 0, "print", C:\Documents and Settings\.......\toto2.docx, "", "", SW_SHOWNORMAL
Application.Wait (Now + TimeValue("0:00:10"))

Problème :

Je souhaite imprimer tout ces documents sur PDF CREATOR puis les fusionner pour n'en faire qu'un seul tout en gardant la possibilité de les imprimer en format papier. L’idéale serait un bouton où l'on pourrai choisir le format de l'impression (si c'est possible bien sur !) . J'ai procédé a quelque recherche en trouvant le code ci dessous mais il refuse d'imprimer mes documents Word en pdf.

VB:
Application.Dialogs(xlDialogPrinterSetup).Show

Es t il possible d'effectuer ces différentes actions en VBA ?

Présentation sujet numéro 2 :
Es t - il possible de crée une boite dialogue (Userform, etc) avec des données à remplir qui seront retranscrit dans un fichier Word à un emplacement précis.
Si, oui pouvez vous m'aider dans ma démarche.
 

Caillou

XLDnaute Impliqué
Bonjour,

Pour le sujet n°2 uniquement:
Soit un document word nommé doc1, contenant un signet nommé sNom d'une part et un classeur Excel avec un Userform contenant un TextBox nommé TextNom. Le code ci-dessous copie le texte de TextNom dans le document doc1 à l'emplacement du signet sNom :
Dim wd As New Word.Application
Dim oDoc As Word.Document
wd.Visible = True

Set oDoc = Documents.Open("C:\Users\JPMeyzie\Desktop\doc1.docx")
oDoc.Bookmarks("sNom").Range.Text = Me.TextNom
Set wd = Nothing
Set oDoc = Nothing

Caillou
 

Lowthar

XLDnaute Nouveau
Merci de ta réponse, j'ai essayé ta réponse mais je n'arrive pas. Il me marque : "Erreur de compilation : type défini par l'utilisateur non défini."

Aurais tu les documents à me faire parvenir pour voir comment tu as fait que je puisse le faire de mon coté ?
 

Lowthar

XLDnaute Nouveau
Ta solution fonctionne, j'ai juste encore quelque problème :
- Plus je tape de caractère plus il m'ouvre de document Word.
- Il multiplie le nombre de caractère rentré par deux ou trois.

J'ai cherché d'où le problème provenais mais en sans succès.
 

Lowthar

XLDnaute Nouveau
J'ai mis ma textbox dans un UserForm, j'ai adapter ton code à mon problème en modifiant le lien, activer Microsoft Word XX Objet Library (fichier Excel prenant en compte les macro).

Es t - il possible de par exemple rentré les valeurs, appuyer sur un bouton qui activerai le transfert des caractères sur le document Word. Peut être que cette idée peut résoudre mon problème.
 

Pièces jointes

  • Classeur1.xlsm
    15.7 KB · Affichages: 45

Caillou

XLDnaute Impliqué
Oui, c'est la bonne solution
Là tu as mis le code dans le textbox sur l'evenement Change ce qui déclenche son exécution à chaque caractère saisi (demarrage de word et ainsi de suite)
il suffit de placer un bouton et de coller le code dans son evenement Clic

Caillou
 

Lowthar

XLDnaute Nouveau
caillou, je ne sais pas si tu suis encore le sujet mais j'aimerais te poser une question à propos de ton programme.

Je cherche a concaténer le lien du document où se situe les signet mais j'ai beau essayer plusieurs méthodes tels que :

h = a & b & c & d & e
set oDoc = Documents.Open("h")

ou

h = a +b +c +d + e
Set oDoc = Documents.Open("h")

Mais aucune de ces techniques ne fonctionne. Serais tu me dire pourquoi ?

Pour le message de kiki29, je vais regarder et je te dis se qu'il en ai un peu plus tard. Merci pour les liens
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
1 K
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 184
Messages
2 086 007
Membres
103 088
dernier inscrit
Psodam