user_mobilelogo

 

Supposons que la chaîne en question est "xyz"

Cette macro insère un saut de section entre chaque fichier inséré pour especter éventuellement des présentations différentes (marges, entêtes, etc.). Si tout est pareil, avec un pied de page identique, on pourra y mettre plutôt un saut de page.

 

Sub concaten()
'macro écrite par m@rina
Documents.Add
ChDir "c:\mon chemin préféré"
myName = Dir("*xyz*.*")
While myName <> ""
With Selection
.InsertFile FileName:=myName, ConfirmConversions:=False
.InsertParagraphAfter
.InsertBreak Type:=wdSectionBreakNextPage
.Collapse Direction:=wdCollapseEnd
End With
myName = Dir()
Wend
End Sub

 

Par ailleurs, depuis la version 2002, il existe en VBA un FilePicker qui permet une multi-sélection de fichiers selon les modalités habituelles de l'explorateur.

Ainsi la macro ci-dessus peut également s'écrire comme ci-dessous. L'avantage du FilePicker : on peut picorer les fichiers en introduisant le masque *xyz*.docx dans la boîte de dialogue, utiliser Ctrl-A pour tout sélectionner, les touches Maj ou Ctrl , trier les fichiers etc...

 

Sub ConcatenerFichiers()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "Sélectionner les fichiers à concaténer"
If fd.Show = -1 Then
For Each vFichier In fd.SelectedItems
With ActiveDocument.Content
.Collapse Direction:=wdCollapseEnd
.InsertBreak Type:=wdPageBreak
.InsertFile FileName:=vFichier
End With
Next vFichier
End If
End Sub

 

 

 

Statistiques

Aujourd'hui548
Hier1770
Cette semaine5879
Ce mois36111
Total depuis 200418238651

12
visiteurs actuellement en ligne

25 avril 2024