> Tous les forums > Forum Bureautique
 Signet Word dans ExcelSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Porruak
  Posté le 02/01/2012 @ 11:44 
Aller en bas de la page 
Petit astucien

Bonjour,

Je cherche à créer un fichier word qui soit autonome et qui à partir de quelques champs dont on peut changer les valeurs tout le document se remet à jour.

Pour illustrer certaines formules, je passe par l'incorporation d'un tableau excel dans lequel je souhaite récupérer les valeurs contenu dans des signets du document word.

L'utilisation du tableur excel me permet de profiter de capacité de calcul d'excel.

Ma question est donc la suivante, existe une fonction sous VBA qui pourrait me permettre d'attribuer à une cellule excel la valeur d'un signet du document word?

l'objectif serait d'écrire si possible dans la cellule excel la formule suivante "=fonction_signet("nom signet")"

Petite précision, je travail sur la version 2003 d'office.

Sincères salutations.

Publicité
Porruak
 Posté le 02/01/2012 à 13:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Peut être qu'à partir de cette macro qui me permet dans un fichier excel idépendant de récupérer tous les signets vous pourrez m'aider à trouver une soluce

Sub Signets()
i = 0
Set WordApp = CreateObject("word.application")
'WordApp.Visible = True 'Si activer, l'ouverture de Word est visible à l'écran
WordApp.Documents.Open Filename:="C:\toto.doc"
For Each X In WordApp.ActiveDocument.Bookmarks
ActiveSheet.Range("A1").Offset(i, 2).Value = X
ActiveSheet.Range("A1").Offset(i, 0).Value = X.Name
ActiveSheet.Range("A1").Offset(i, 1).Value = X.Range
i = i + 1
Next
WordApp.Quit
Set WordApp = Nothing
End Sub

Porruak
 Posté le 02/01/2012 à 14:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

En ajoutant une condition sur X je peux choisir le signet que je veux afficher

if X = nom_signet then

le problème est de convertir cette macro en fonction et de ne pas ouvrir le document word (il est déjà ouvert) pour rechercher le signet.

Si quelqu'un peut m'aider please...

Porruak
 Posté le 02/01/2012 à 15:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

La conversion suivante ne fonctionne pas

Public function Signets(Nsignet as string)
i = 0
Set WordApp = CreateObject("word.application")
'WordApp.Visible = True 'Si activer, l'ouverture de Word est visible à l'écran
WordApp.Documents.Open Filename:="C:\toto.doc"
For Each X In WordApp.ActiveDocument.Bookmarks

If X = Nsignet Then
ActiveSheet.Range("A1").Offset(i, 2).Value = X
ActiveSheet.Range("A1").Offset(i, 0).Value = X.Name
ActiveSheet.Range("A1").Offset(i, 1).Value = X.Range
i = i + 1

End If
Next
WordApp.Quit
Set WordApp = Nothing
End Sub

il m'ouvre bien le fichier mais me renvoi une erreur lors du calcul???

Porruak
 Posté le 02/01/2012 à 15:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ok, petite erreur de ma part, la fonction suivante fonctionne parfaitement

Public Function Signets(NSignet As String)
i = 0
Set WordApp = CreateObject("word.application")
'WordApp.Visible = True 'Si activer, l'ouverture de Word est visible à l'écran
WordApp.Documents.Open Filename:="U:\M168\G-GUN-XX\CALCUL\toto.doc"
For Each X In WordApp.ActiveDocument.Bookmarks
If X = NSignet Then
Signets = X.Range
i = i + 1
End If
Next
WordApp.Quit
Set WordApp = Nothing
End Function

Reste à ne plus ouvrir le document par la ligne ("WordApp.Documents.Open Filename:="U:\M168\G-GUN-XX\CALCUL\toto.doc"")

Help!!!! Please!!!

Gabrilou
 Posté le 02/01/2012 à 15:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Je ne suis pas certaine d'avoir bien compris ta question.

Tu as actuellement deux fichiers disctincts. 1) Word ; 2) Une feuille Excel

Si tu fais des modifications ou ajout dans la feuille Excel, tu veux que ces changements se répercutent automatiquement dans ton document Word. C'est ça ?

A+

Porruak
 Posté le 02/01/2012 à 16:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Non, c'est l'inverse.

En fait je n'ai qu'un fichier Word dans lequel j'insére une feuille de calcul excel (voir image ci-dessous)

C'est dans cette feuille de calcul que je veux récupérer la valeur de certains de mes signets afin de faire des calculs et des représentation graphique.

En gros, je veux faire du MathCad avec Word... Je sais, c'st pas le top.

Gabrilou
 Posté le 02/01/2012 à 16:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucienne

Je n'aurais pas procédé comme ça et je ne saurais faire, mais je te laisse le lien de site de m@rina. Elle traite de ce sujet.

http://www.faqword.com/index.php/word-faq/vba-solutions/528-comment-recuperer-lensemble-des-signets-dun-document-word-dans-un-tableur-excel-.html

Edit : je n'avais pas vu ton message de 15h 16. C'est à peu près la même macro que sur le site dont le lien ci-dessus. Désolée...



Modifié par Gabrilou le 02/01/2012 16:37
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Coller des données brutes de mise en forme dans Excel/Word
Caractère invisible dans Excel et Word.
Difficultés insertion Excel dans un fichier Word
Fusion étiquettes fichier excel dans word
Comment SVP insérer un signet dans Word 2007 ?
Importation de fichier dans Word et Excel
copier plage excel 2003 coller dans word + m en p
Envoyer vers Grisé dans word et excel
fusion dans Word à partie de Excel
insertion tableau excel dans word
Plus de sujets relatifs à Signet Word dans Excel
 > Tous les forums > Forum Bureautique