Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Lancer Word depuis un UF et récupérer des cellules

  • Initiateur de la discussion Initiateur de la discussion paul87
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

paul87

XLDnaute Impliqué
Bonjour à tous, Bonjour le Forum

est-il possible d'inclure une feuille .doc dans une feuille .xls?..sans avoir à appeler Word.

Sinon comment faire pour lancer un document .doc (une lettre pré-formatée)..depuis un UF..

Est-ce possible de récupérer des valeurs des cellules de ma feuille Excel, pour mettre à jour automatiquement certaines donnée de la feuille .doc...ex nom adresse?

Merci par avance pour vos conseils.
Paul
 
Re : Lancer Word depuis un UF et récupérer des cellules

j'ai trouvé ça...ça marche...

Code:
Private Sub CommandButton1_Click()
    Set wrdApp = CreateObject("Word.Application" ) 
    On Error GoTo Line1 
    Set wrdDoc = wrdApp.Documents.Open("C:\x.doc" ) 
    wrdApp.Visible = True 
    Exit Sub 
Line1: 
    MsgBox "Le fichier 'x' doit être placé dans le répertoire 'C:\x.doc'", vbOKOnly +vbExclamation, "Attention" 
End Sub
Mais je souhaiterai récupérer, le contenu de la cellule H4 dns ma feuille .xls pour une mise à jour automatique à l'ouverture du fichier x.doc..dans un cadre défini à l'avance..
je ne sais comment faire
 
Re : Lancer Word depuis un UF et récupérer des cellules

Bonsoir Paul,

Voici une tentative de réponse à tes questions :

Q1 : Est-il possible d'inclure une feuille .doc dans une feuille .xls?..sans avoir à appeler Word.

R1 : Oui.
  1. Dans Excel, aller dans le menu Insert/Object
  2. Il apparait une boite de dialogue avec deux onglets : selectionner l'onglet Create From File.
  3. Selon les besoins, cocher éventuellement la case Link to file ou Display as Icon.
  4. Clicker sur le bouton browse ...
  5. Ensuite il suffit de retrouver le fichier à insérer dans l'arborescence des répertoires.

Q2 : Sinon comment faire pour lancer un document .doc (une lettre pré-formatée)..depuis un UF..

R2 : Tu as déjà trouvé par toi même. Il suffit, en effet, de se servir de la classe OLE Word.Application


Q3 : Est-ce possible de récupérer des valeurs des cellules de ma feuille Excel, pour mettre à jour automatiquement certaines donnée de la feuille .doc...ex nom adresse?

R3 : Oui

  1. Dans Word, aller dans le menu Insert/Field
  2. Une boite de dialogue apparait
  3. Selectionner Links and References dans le menu déroulant Categories
  4. Selectionner Link dans la liste Field Names
  5. La partie droite de la boite de dialogue change
  6. Entrer le chemin\nom du fichier Excel dans la text box File Name or URL:
  7. Selectionner Excel.Sheet.8 dans la liste Class name
  8. Cocher la case Update fields automatically
  9. Cocher la case insert object as text
  10. Appuyer sur le bouton Field Code
  11. On bascule en mode Field Code, ou commande en ligne
  12. On voit apparaitre dans la text box Field Code, la commande :
    LINK Excel.Sheet.8 chemin\fichier.xls \a \t
  13. Changer la commande en :
    LINK Excel.Sheet.8 "chemin\fichier.xls" "mafeuille!RnligneCncolonne" \a \t
    ou mafeuille, nligne et ncolonne sont respectivement le nom de la worksheet, les numéros de ligne et de colonne de la cellule Excel qui contient la valeur à insérer dans Word.
  14. NE PAS OUBLIER LES GUILLEMETS.
  15. Appuyer sur Okay autant de fois que nécessaire, car Word va demander la confirmation de l'update des liens Word vers le fichier Excel dans lequel se trouve la valeur à insérer.
  16. Recommencer autant de fois que de valeurs à lier au fichier Word.
Et voila.

@+
 
Dernière édition:
Re : Lancer Word depuis un UF et récupérer des cellules

Bonjour à tous,
et Merci à toi ngogoisidore
J'ai bien utilisé la deuxième solution qur tu m'as proposé,
mais
Erreur !Liaison incorrecte.
Je ne sais pourquoi...la cellule H4 de la Feuil1 de mon "Classeur1.xls" sont bien noté....
Help Please
Merci par avance
Paul


Code:
LINK  Excel.Sheet.8 "C:\\Documents and Settings\\PBX\\Bureau\\classeur1.xls" "Feuil1!RnligneCncolonne" \4\8
 
Re : Lancer Word depuis un UF et récupérer des cellules

Bonjour (on est déjà demain 🙂) Paul,

il faut remplacer nligne et ncolonne, respectivement par le numéro de ligne et le numéro de colonne de la cellule à laquelle tu veux accéder.

Dans ton cas, c'est H4, donc nligne = 4 et ncolonne = 8.

Le code field doit être :

LINK Excel.Sheet.8 "C:\\Documents and Settings\\PBX\\Bureau\\classeur1.xls" "Feuil1!R4C8" \a \t

Se méfier également des chemins d'accés avec des espaces, je ne suis pas sur que cela marche.
Si ça ne marche pas, copier le fichier dans un répertoire dont le nom est plus simple.

@+
 
Dernière édition:
Re : Lancer Word depuis un UF et récupérer des cellules

Re bonjour à tous, Bonjour le Forum,
et bonjour et merci à toi ngogoisidore.
😱Bon,..en fait, je crois que j'ai mal, voir trés mal expliqué ce qu'il me fallait..😱
ci-joint, un petit exemple de brouillon.
Dans mon classeur "Essai.xls" qui est en C:\
j'ai une liste de nom dans la colonne H (8)
Pour les besoins de mon appli ....je clique dans la colonne A, cela ouvre un UF..dans cet UF, un bouton me propose de lancer l'ouverture de Word...afin de pouvoir imprimer une lettre type (qui s'apelle "test.doc" elle aussi en c:\)
dont l'entête sera au nom sélectionné.
Merci encore pour vos aides et conseils....
 

Pièces jointes

Re : Lancer Word depuis un UF et récupérer des cellules

Bonjour,
Essaies en insérant dans ton fichier Test.doc, un champs de fusion que tu nommeras NOM par exemple (MERGEFIELD NOM), à l'endroit où tu le souhaites, puis dans le formulaire excel
Code:
Private Sub CommandButton1_Click()
    Dim appWd As Word.Application
    Dim docWd As Word.Document
    Set appWd = CreateObject("Word.Application")
    appWd.Visible = True
    Set docWd = appWd.Documents.Open("C:\Test.doc")
    docWd.Fields(1).Result.Text = TextBox1  'si tu n'as qu'un seul champs
    Set appWd = Nothing
    Set docWd = Nothing
    'Unload Me
End Sub
A+
kjin
 
Re : Lancer Word depuis un UF et récupérer des cellules

Si ton but est d'avoir un fichier Word unique qui ne sert qu'à imprimer et que ton fichier Excel se trouve toujours au même endroit dans l'arborescence de tes répertoires, tu peux utiliser la méthode que j'ai donnée (qui marche très bien sur mon PC).

Par contre, si tu comptes sauvegarder tes fichiers Word et, qu'en plus, ces fichiers sont "crées" par Excel ou du moins complétés avec des valeurs entrées dans Excel, alors il faut effectivement, comme le propose kjin (qui s'évertue à rebondir sur tous mes posts depuis ce matin 🙂), que le champs variable dans Word soit renseigné par Excel et ne soit pas un lien vers le fichier Excel.

Désolé, mais je ne pouvais pas deviner.

@+
 
Re : Lancer Word depuis un UF et récupérer des cellules

Re-
Un tres grand Merci à vous 2..
ngogoisidore et kjin...
j'ai finalement adopté la solution de kjin....juste une petite modif ...
je souhaiterai dans effectivement pouvoir juste lancer l'impression et fermer Word, sans sauvegarde... dans la meme action sur le CommandButton1
en fait juste imprimer la lettre .doc avec la valeur du champ issu de la feuille .xls

Merci encore !!!
 
Re : Lancer Word depuis un UF et récupérer des cellules

Re,
ngogoisidore promis je ne le fait pas exprès 🙂😉
Sans pouvoir tester (imprimante 😱)
Code:
Private Sub CommandButton1_Click()
    Dim appWd As Word.Application
    Dim docWd As Word.Document
    Set appWd = CreateObject("Word.Application")
    appWd.Visible = True
    Set docWd = appWd.Documents.Open("C:\Test.doc")
    docWd.Fields(1).Result.Text = TextBox1  'si tu n'as qu'un seul champs
    docWd.PrintOut
    docWd.Close SaveChanges:=False
    appWd.Quit
    Set appWd = Nothing
    Set docWd = Nothing
    'Unload Me

End Sub
A+
kjin
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
458
Compte Supprimé 979
C
Réponses
15
Affichages
2 K
Compte Supprimé 979
C
J
Réponses
8
Affichages
3 K
Jérémy26
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…