1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub InsererDemande()
'nécessite d'activer la référence Microsoft Word xx.x Object Library
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Fichier As Variant
Dim Pos, DerniereLigne As Integer
Dim NomFichier, chemin, nomFichierSansExtension As String
'affichage boite de dialogue pour choisir un document Word
Fichier = Application.GetOpenFilename("Text Files (*.doc*), *.doc*")
If Fichier = False Then Exit Sub
'le document Word est supposé fermé avant le lancement de la macro
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = False 'pour que word reste masqué pendant l'opération
Set WordDoc = WordApp.Documents.Open(Fichier) 'ouverture du fichier Word
WordDoc.Unprotect
NomFichier = WordDoc
Pos = InStr(1, NomFichier, ".", 1)
nomFichierSansExtension = Left(NomFichier, Pos - 1)
chemin = WordDoc.Path & "\" & WordDoc
'Identification de la première ligne vide pour y recopier les données
DerniereLigne = Range("A65535").End(xlUp).Row + 1
'copie des infos depuis mon fichier Word
Cells(DerniereLigne, 12) = WordDoc.Sections(1).Headers(wdHeaderFooterPrimary).Range.Fields(3).Result.Text
Cells(DerniereLigne, 16) = Now
Cells(DerniereLigne, 2) = WordDoc.Fields(3).Result.Text
Cells(DerniereLigne, 3) = WordDoc.Fields(2).Result.Text
Cells(DerniereLigne, 4) = WordDoc.Fields(1).Result.Text 'copie du champ texte Word
Cells(DerniereLigne, 7) = WordDoc.Fields(5).Result.Text
Cells(DerniereLigne, 5) = WordDoc.Fields(4).Result.Text
Cells(DerniereLigne, 1) = nomFichierSansExtension
Cells(DerniereLigne, 1).Select
ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:=chemin
WordDoc.Close False 'ferme le document Word sans sauvegarde
WordApp.Quit 'ferme l'application Word
End Sub |
Partager