IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Comparateur de fichiers


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 44
    Points : 38
    Points
    38
    Par défaut Comparateur de fichiers
    Bonjours, voila j'ai pour projet de fair en vb6 une petite application qui me permettra de comparer l'ensemble de mes fichiers.
    Pour le moment, j'aimerai juste pouvoir copier tout le contenue d'un de mes dossier que si un de mes fichiers existent pas déjà dans ma cible.

    Je vous fait part de mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     Private Sub Form_Load()
     
    Dim oFSO, oFld
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oFld = oFSO.GetFolder("C:\Documents and Settings\Fabrice\Bureau\fabtest")
    // ma difficulté est surtout ici, je ne sais pas trop comment vérifier fichiers par fichiers.
    If Dir("C:\Documents and Settings\Fabrice\Bureau\fjf", vbHidden) <> "" Then
        MsgBox "Erreur"
    Else
     
    oFld.Copy "C:\Documents and Settings\Fabrice\Bureau\fjf", True ' false the : pour copier en "écrasant" destination si existe..
    End If
     
     
    End Sub


    Merci d'avance pour me donner un coup de main
    A bientôt


    Fabrice,

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonsoir,

    Je trouve que tu te compliques beaucoup la vie (en alourdissant en plus avec FSO !) :

    Regarde ce que t'offre VB tout seul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command1_Click()
     fichier = "d:\essai.txt"
     If Dir(fichier) <> "" Then
       MsgBox "existe déjà !"
     Else
       MsgBox "n'existe pas"
     End If
    End Sub

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 44
    Points : 38
    Points
    38
    Par défaut
    Oui en cherchant, je me suis remarqué que ce Fso me complique un peu trop la tache, mais ce que je ne comprends pas, c'est la comparaison elle même des fichiers.
    Par exemple je veux comparer si le fichier a du dossier A existe déjà dans le fichier B et si il est plus récent.

    Je pourais fair ces recherches sans ce Ofso ?

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 955
    Points
    55 955
    Billets dans le blog
    131
    Par défaut
    Bonsoir

    Si tu veux comparer des propriétés de tes fichiers, et non seulement l'existence dans différents dossiers, alors, je pense que FSO peut te rendre des services.

    Je te conseillerais dès lors de cocher la référence à Micsrosoft Scripting Runtime de façon à bénéficier le l'aide à la saisie du code. Tu pourras alors déclarer des objets typés et tu pourras mieux voir de quelles propriétés et méthodes tu disposes.

    Je te propose le code suivant, pas du tout optimisé, mais qui te donnera des idées de ce que tu peux réaliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub ComparerFichier()
        Dim fso As New Scripting.FileSystemObject
        Dim DosA As Scripting.Folder
        Dim DosB As Scripting.Folder
        Dim FichierA As Scripting.File
        Dim FichierB As Scripting.File
     
        Set DosA = fso.GetFolder("d:\données\comparaisons\dossier A")
        Set DosB = fso.GetFolder("d:\données\comparaisons\dossier A")
     
        If fso.FileExists(DosA.Path & "\facture.xml") Then
            Set FichierA = DosA.Files("facture.xml")
            If fso.FileExists(DosB.Path & "\facture.xml") Then
                Set FichierB = DosA.Files("facture.xml")
                If FichierA.DateLastModified > FichierB.DateLastModified Then MsgBox "Facture xml de " & DosA.Name & " plus récent que Facture.xml de " & DosB.Name
            End If
        End If
    End Sub
    Il y a probablement plus propre comme code, mais inspire-toi de ceci pour envisager la suite.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bon ...

    voyons donc (en reprenant le code plus haut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command1_Click()
     fichier = "d:\essai.txt"
     If Dir(fichier) <> "" Then
       MsgBox "existe déjà ! et a été créé/modifié pour la dernière fois le " & FileDateTime(fichier)
     Else
       MsgBox "n'existe pas"
     End If
    End Sub

Discussions similaires

  1. [Généralités] Intégrer un comparateur de fichiers texte
    Par Christophe Charron dans le forum WinDev
    Réponses: 0
    Dernier message: 19/12/2011, 21h46
  2. Logiciel comparateur de fichiers
    Par Invité dans le forum Outils
    Réponses: 2
    Dernier message: 08/09/2009, 00h37
  3. API comparateur de fichier
    Par parou dans le forum Langage
    Réponses: 2
    Dernier message: 17/03/2009, 14h57
  4. comparateur de fichiers
    Par gnuteliste dans le forum Excel
    Réponses: 7
    Dernier message: 22/04/2008, 16h39
  5. [Outils] Comparateur de fichiers XML
    Par Bayard dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/02/2007, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo