Copier des PDF via VBA

Bonjour à tous,

Je souhaite savoir si il est possible de copier/coller des documents PDF depuis un dossier vers un autre dossier ?

Pour expliquer ma problématique, je souhaite créer un dossier de fiche technique type en format PDF sur mon PC et utiliser une macro VBA afin de copier/coller ces fiches techniques dans des dossiers projets.

Merci d'avance pour vos réponses !

Bonjour,

Ton besoin reste général, je vais commencer par te répondre d'une façon assez globale ... si tu maîtrises bien le VBA tu peux puiser dans le fichier les fonctions essentielles qui sont

la création d'un répertoire

Sub creation(repertoire As String)
Dim fso As Object
Dim rep As String
Dim tabrep, i%
rep = ""

    Set fso = CreateObject("Scripting.FileSystemObject")
    tabrep = Split(repertoire, "\")
    For i = 1 To UBound(tabrep)
        rep = rep & "\" & tabrep(i)
        If Dir(rep, vbDirectory) = "" Then
            nbdir = nbdir + 1
            fso.CreateFolder rep
        End If
    Next i

End Sub

la recopie d'un fichier

Sub recopie(nomFichierSource As String, nomFichierDest As String)
Dim fso As Object
Dim nomFichierDestComplet As String
Dim nomRepertoire As String

    Set fso = CreateObject("Scripting.FileSystemObject")
    nomFichierDestComplet = Range("sauvegarde").Value & nomFichierDest

    If Dir(nomFichierDestComplet, vbDirectory) = "" Then
        nomRepertoire = Mid(nomFichierDestComplet, 1, Len(nomFichierDestComplet) - 1 - Len(Split(nomFichierDestComplet, "\")(UBound(Split(nomFichierDestComplet, "\")))))
        creation nomRepertoire
    End If

    fso.CopyFile Range("source").Value & nomFichierSource, nomFichierDestComplet

End Sub

si besoin, la lecture récursive des fichiers d'un dossier et d ses sous-dossiers

Sub ListeFichiers(repertoire As String, onglet As String, longRacine As Integer)
Dim fso, SourceFolder, SubFolder, fichier, ws As Object

    Set fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = fso.GetFolder(repertoire)
    Set ws = Sheets(onglet)

    ' boucle sur tous les fichiers du répertoire
    For Each fichier In SourceFolder.Files

        ws.Cells(k, 1).Value = Mid(repertoire, longRacine + 1) & "\" & fichier.Name
        ws.Cells(k, 2).Value = FileDateTime(fichier)
        k = k + 1

    Next fichier

    ' appel récursif pour les sous-répertoires
    For Each SubFolder In SourceFolder.subfolders
        ListeFichiers SubFolder.Path, onglet, longRacine
    Next SubFolder

End Sub

si tu veux affiner, donne un bout de l'application excel telle que tu la voies et les fonctionnalités

131backup.xlsm (41.42 Ko)
Rechercher des sujets similaires à "copier pdf via vba"