Bonjour à tous,
Je débute avec les macros Excel, donc j'ai fait des recherches pour mon besoin et j'ai réussi à faire une macro à base de copier/coller de bouts de macros.
Ce que je souhaite faire :
Ouvrir une boite de dialogue pour selectionner le repertoire à traiter
Dans ce repertoire,
balayer tous les fichiers de ce repertoire et des sous repertoires
rajouter le pied de page "CONFIDENTIEL", enregistrer sous le meme nom et fermer
J'ai réussi à faire une macro qui fonctionne.
Le probleme est que dans mes repertoires il y a des fichiers autres que .xls*, donc il faut que j'ajoute une condition sur l'extension du document (dans un premier temps, je ne traite que les fichiers Excel. Je me poserai la question plus tard pour Word et Powerpoint)
Du coup, j'ai rajouté une condition sur l'extension de mon fichier, mais là, ça ne marche plus très bien.
J'espère que quelqu'un pourra me conseiller.
Merci par avance !
Ci-dessous ma macro :
Sub test()
Dim Chemin As String
Dim Ws As Worksheet
Dim I As Integer
Dim Fso As Object
Dim Dossier_Principal
Dim FdFolder As FileDialog
Set FdFolder = Application.FileDialog(msoFileDialogFolderPicker)
With FdFolder
If .Show = -1 Then ' Clic sur Ok
Chemin = .SelectedItems(1)
Else ' Clic sur Annuler
Exit Sub
End If
End With
Set FdFolder = Nothing
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Dossier_Principal = Fso.getfolder(Chemin)
Modif_Dossier Dossier_Principal
End Sub
Sub Modif_Dossier(ByRef Dossier)
Dim Rep As Object
Dim f2 As Object, wb As Workbook
For Each Rep In Dossier.SubFolders
Modif_Dossier Rep
For Each f2 In Rep.Files
'If Right(f2.Name, 4) = ".xls*" Then
Set wb = Workbooks.Open(f2)
With ActiveSheet.PageSetup
.CenterFooter = "CONFIDENTIEL"
End With
Application.PrintCommunication = True
ActiveWindow.View = xlNormalView
ActiveWorkbook.Save
wb.Close True
Next f2
Next
End Sub
Je débute avec les macros Excel, donc j'ai fait des recherches pour mon besoin et j'ai réussi à faire une macro à base de copier/coller de bouts de macros.
Ce que je souhaite faire :
Ouvrir une boite de dialogue pour selectionner le repertoire à traiter
Dans ce repertoire,
balayer tous les fichiers de ce repertoire et des sous repertoires
rajouter le pied de page "CONFIDENTIEL", enregistrer sous le meme nom et fermer
J'ai réussi à faire une macro qui fonctionne.
Le probleme est que dans mes repertoires il y a des fichiers autres que .xls*, donc il faut que j'ajoute une condition sur l'extension du document (dans un premier temps, je ne traite que les fichiers Excel. Je me poserai la question plus tard pour Word et Powerpoint)
Du coup, j'ai rajouté une condition sur l'extension de mon fichier, mais là, ça ne marche plus très bien.
J'espère que quelqu'un pourra me conseiller.
Merci par avance !
Ci-dessous ma macro :
Sub test()
Dim Chemin As String
Dim Ws As Worksheet
Dim I As Integer
Dim Fso As Object
Dim Dossier_Principal
Dim FdFolder As FileDialog
Set FdFolder = Application.FileDialog(msoFileDialogFolderPicker)
With FdFolder
If .Show = -1 Then ' Clic sur Ok
Chemin = .SelectedItems(1)
Else ' Clic sur Annuler
Exit Sub
End If
End With
Set FdFolder = Nothing
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Dossier_Principal = Fso.getfolder(Chemin)
Modif_Dossier Dossier_Principal
End Sub
Sub Modif_Dossier(ByRef Dossier)
Dim Rep As Object
Dim f2 As Object, wb As Workbook
For Each Rep In Dossier.SubFolders
Modif_Dossier Rep
For Each f2 In Rep.Files
'If Right(f2.Name, 4) = ".xls*" Then
Set wb = Workbooks.Open(f2)
With ActiveSheet.PageSetup
.CenterFooter = "CONFIDENTIEL"
End With
Application.PrintCommunication = True
ActiveWindow.View = xlNormalView
ActiveWorkbook.Save
wb.Close True
Next f2
Next
End Sub