ouvrir un Word à partir d'une macro Excel

azzouzze

XLDnaute Junior
Bonjour,

Je souhaiterai faire un macro un peu complexe:
1) elle doit ouvrir tour à tour tous les fichiers word d'un repertoire,
2) Prendre les Valeurs des champs de listes deroulantes et autres.
3) Ecrire ces données dans un tableaux Excel avec liste deroulante

Si quelqu'un peu m aider.


Merci d'avance
 

azzouzze

XLDnaute Junior
Bonjour,

Je souhaiterai faire un macro un peu complexe:
1) elle doit ouvrir tour à tour tous les fichiers word d'un repertoire,
2) Prendre les Valeurs des champs de listes deroulantes et autres.
3) Ecrire ces données dans un tableaux Excel avec liste deroulante

Si quelqu'un peu m aider.


Merci d'avance
 

Luki

XLDnaute Accro
Re : ouvrir un Word à partir d'une macro Excel

Bonjour Azzouze,

Un exemple de ton fichier Word zippé sans données confidentielles et moins de 50 ko , ainsi qu'un exemple de ce que tu veux sous excel te permettra peut-être d'obtenir des réponses...:)

Bonne journée
 

azzouzze

XLDnaute Junior
Re : ouvrir un Word à partir d'une macro Excel

voici un bout du fichier, vous verez le type de champs que sont présent dans le fichier,
ce sont des listes déroulante et des espaces libres.
Je veux retrouver ces champs dans un excel sous d'autre appellation que celle du Word.


Merci d'avance

NB: dsl j avais pas fait attention au zip manquant
 

Pièces jointes

  • forum excel.zip
    10.6 KB · Affichages: 95
  • forum excel.zip
    10.6 KB · Affichages: 94
  • forum excel.zip
    10.6 KB · Affichages: 94
Dernière édition:

Luki

XLDnaute Accro
Re : ouvrir un Word à partir d'une macro Excel

Re,

Une solution pour les 2 premiers points. Pour la liste déroulante, on verra plus tard.

A tester, car chez moi, je trouve que ça rame un peu. Il faudrait peut-être passer par une récupération sur fichiers fermés, mais je ne sais pas faire... Désolé.

Le bouton permet de sélectionner le répertoire et de lancer la récupération des champs de l'exemple, et de les écrire dans la feuille active.

Vois si c'est dans l'esprit, mais je pense que je ne pourrai pas aller plus loin, car je ne maitrise pas bien les objets word et les appels vers d'autres applications.

Bonne soirée
 

Pièces jointes

  • recup_champs_word.xls
    39 KB · Affichages: 176

Épaf

XLDnaute Occasionnel
Re : ouvrir un Word à partir d'une macro Excel

Je ne suis pas allé sur ton fichier... mais, pour ouvrir une instance de word et placer une donnée après un signet, tu peux utiliser ça :
Code:
Sub CopierUneDonnéeDansWord()
Dim wdApp As Word.Application                     'instance de l'appli Word
Dim WdDoc As Word.Document              'instance du document Word à ouvrir
Dim FL1 As Worksheet
Dim Chemin, NomFich
Dim NoLigne As Long, NoCol As Byte, LaDonneeAcoller
Chemin = "D:\Doc\"
NomFich = "Worddoc.doc"
Set FL1 = ActiveWorkbook                        'instance du classeur actif
    Set wdApp = CreateObject("word.application")     'ouvre la session Word
    Set WdDoc = wdApp.Documents.Open(Chemin & NomFich)        'ouvre le doc
    If WdDoc Is Nothing Then 'Fichier non trouvé
        MsgBox "Fichier " & NomFich & " non trouvé dans le répertoire " & Chemin
        GoTo Fin 'l'instance de word doit être fermée
    End If
    wdApp.Visible = False                                      'masque Word
    
    LaDonneeAcoller = FL1.Cells(NoLigne, NoCol).Value
    
    'En supposant que dans ton doc Word tu aies un signet nommé "Signet"
    With wdApp
        .Selection.Goto What:=wdGoToBookmark, Name:="Signet"
        .Selection.InsertAfter LaDonneeAcoller
    End With
 
    'WdApp.Visible = True 'Pour voir (Ne pas fermer le fichier depuis Word)
    WdDoc.Close True                       'Enregistre et ferme le doc word
    DoEvents            'Laisse au system le temps d'enregistrer le fichier
Fin::
    wdApp.Quit                                            'ferme la session
    
    Set Plage = Nothing
    Set wdApp = Nothing
    Set WdDoc = Nothing
End Sub
Pour récupérer une donnée dans Word, et si tu leur as affecté un signet ou un nom de champ, pour les retrouver regarde les paramètres à Goto dans l'aide.
Pour récupérer la donnée, c'est
Code:
LaDonnée = WdApp.selection
 

azzouzze

XLDnaute Junior
Re : ouvrir un Word à partir d'une macro Excel

je vais essayé ce soir. mais j aime beaucoup la solution de Luki. elle est assez rapide et efficace du faite que tu n'affiche rien à l'écran tu perd moins de temps.
De plus,tu peu :
- l'adapter à tes champs assez facilement,
- mettre un repertoire par default si besoin,

à faire:
- gérer l'insertion des résultats car derierre, je fais des stats et j'ai une trame,
- un sauvegarde vers un csv ou autre,
- gestion des doublons de lignes,
- liste deroulante pour chaque colonne,
 

Discussions similaires

Statistiques des forums

Discussions
312 415
Messages
2 088 236
Membres
103 777
dernier inscrit
ddyyff