Bonjour a tous,
Je me permets de réécrire un sujet que je trouvais trop vague.
Tout d'abord je débute depuis 2-3 jours à utiliser VBA pour mon stage, malheureusement mon accès à des documents et à internet est très limité. J'ai donc grandement besoin de conseil pour avancer;
Mon but est d'écrire une macro qui :
- Ouvre un dossier qui contient des documents Words
- Effectuer un bouclage dans ce dossier pour effectuer une tâche unique dans chaque Word une seul fois.
- La tâche est de copier coller un tableau dans une feuille excel. (les tableaux peuvent être réunis sur une seule feuille à la suite ou disposés sur plusieurs.
Mon avancement :
Ce programme marche pour un seul document.
J'ai réussis à réaliser un bouclage (assez moyen) :
Ma question est : Comment assembler les deux programmes et comment les optimiser ?
J'ai essayé d'être le plus clair possible, je reste connecté très souvent pour pouvoir suivre le cours de ce sujet.
J'ai vraiment besoin d'aide....
Merci d'avance.
Cordialement
Je me permets de réécrire un sujet que je trouvais trop vague.
Tout d'abord je débute depuis 2-3 jours à utiliser VBA pour mon stage, malheureusement mon accès à des documents et à internet est très limité. J'ai donc grandement besoin de conseil pour avancer;
Mon but est d'écrire une macro qui :
- Ouvre un dossier qui contient des documents Words
- Effectuer un bouclage dans ce dossier pour effectuer une tâche unique dans chaque Word une seul fois.
- La tâche est de copier coller un tableau dans une feuille excel. (les tableaux peuvent être réunis sur une seule feuille à la suite ou disposés sur plusieurs.
Mon avancement :
Ce programme marche pour un seul document.
VB:
Sub transfer()
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Dim Fichier As String
Fichier = Application.GetOpenFilename("Text Files (*.doc*), *.doc*")
Set WordApp = CreateObject("Word.Application") 'creation session Word
WordApp.Visible = False 'pour que word reste masqué pendant l'opération
Set WordDoc = WordApp.Documents.Open(Fichier) 'ouverture du fichier Word
WordDoc.Tables(5).Range.Copy 'copie du tableau Word
'dans Word chaque tableau est indexé
'ici l'index est à 5 car il correspond au numero du tableau
'qui ne change pas suivant les dossiers stress
Range("A1").Select
ActiveSheet.Paste 'collage des données dans Excel
WordDoc.Close False 'ferme le document Word sans sauvegarde
WordApp.Quit 'ferme l'application Word
End Sub
J'ai réussis à réaliser un bouclage (assez moyen) :
VB:
Option Explicit
Sub test()
Dim Fso As Object, MonRepertoire As String
Dim f1 As Object, f2 As Object, wb As Workbook
Set Fso = CreateObject("Scripting.FileSystemObject")
MonRepertoire = "C:\Users\NG83466\Documents\SD_STEP6_CERTIF_NATHAN\SD_STEP6_CERTIF_NATHAN"
For Each f1 In Fso.GetFolder(MonRepertoire).SubFolders
For Each f2 In f1.Files
Set wb = Workbooks.Open(f2)
'MA TACHE A ACCOMPLIR
wb.Close
Next f2
Next f1
End Sub
Ma question est : Comment assembler les deux programmes et comment les optimiser ?
J'ai essayé d'être le plus clair possible, je reste connecté très souvent pour pouvoir suivre le cours de ce sujet.
J'ai vraiment besoin d'aide....
Merci d'avance.
Cordialement