Comparer deux repertoires avec Maj

Anonyme
2015-01-08T14:36:06+00:00

Bonjour à tous,

J’aimerais comparer deux répertoires qui devront être identiques, et mettre à jour le deuxième répertoire s'il lui manquait des sous-répertoires par rapport au premier.

Voila un exemple fait par Jacques Boisgontier :

http://cjoint.com/?EAipScWyVP1

Merci d'avance.

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

28 réponses

  1. DanielCo 107.1K Points de réputation
    2015-01-12T09:18:46+00:00

    Bonjour,

    Pour chaque dossier, utilise la fonction "Dir" pour vérifier la présence dans la seconde arborescence. S'il est absent, Crée-le avec la commande "MkDir".

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2015-01-11T21:15:48+00:00

    Bonjour,

    Merci Geo de ta réponse.

    Voila un code que j'ai adapter pour mettre à jour un deuxième répertoire par rapport à un premier répertoire.

    Mais, pour le moment il ne fait pas de comparaison :

    '------------

    Option Explicit

    Sub Demo()

        Dim fso As Object    'FileSystemObject

        Dim fldStart As Object    'Folder

        Dim fld As Object    'Folder

        Dim fl As Object    'File

        Dim Mask As String, Racine As String

        Racine = ChoixDossier

          If Racine = "" Then Exit Sub

        Set fso = CreateObject("scripting.FileSystemObject")

        Set fldStart = fso.GetFolder(Racine)

        fldStart.Copy ("C:\Users\hp\Desktop\Folder\TL 2015")

        Set fldStart = Nothing

        Set fso = Nothing

        '-----------------

    End Sub

    Function ChoixDossier()

        If Val(Application.Version) >= 10 Then

           With Application.FileDialog(msoFileDialogFolderPicker)

            .InitialFileName = ActiveWorkbook.Path & ""

            .Show

            If .SelectedItems.Count > 0 Then

               ChoixDossier = .SelectedItems(1)

            Else

               ChoixDossier = ""

            End If

           End With

         Else

           ChoixDossier = InputBox("Répertoire?")

         End If

    End Function

    '------------

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2015-01-10T06:49:32+00:00

    Bonjour

    Il s'agit de faire une comparaison en premier lieu avant de recopier ce qui manquait à l'arborescence du deuxième.

    Dans Windows, il y a Robocopy qui fait ça.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2015-01-09T17:21:04+00:00

    Bonjour Daniel,

    Il s'agit de faire une comparaison en premier lieu avant de recopier ce qui manquait à l'arborescence du deuxième.

    Peut-on coder cette procédure avec du VBA/Excel ?

    Merci.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. DanielCo 107.1K Points de réputation
    2015-01-08T19:30:42+00:00

    Bonjour,

    S'il s'agit de recopier une arborescence sur une autre, pourquoi ne pas utiliser "xcopy" ?

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire