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'hui473
Hier2165
Cette semaine7969
Ce mois38201
Total depuis 200418240741

2
visiteurs actuellement en ligne

26 avril 2024