Salut tout le monde,

Je suis entrain de faire un petit projet pour mon école, Je dois comparé 2 repertoires sélectionnés avec un folderbrowserdialog et d'afficher les noms pareils de fichier et dossiers dans un listview. De plus, pour les noms pareils, je dois afficher la dernière date de modification du fichiers/dossiers. Par exemple, si dans mon dossier toto, j'ai 3 fichiers du nom de toto.txt, toto1.txt ,toto2.txt... et que je possède un autre répertoire avec ces mêmes noms de fichiers, les 3 fichiers vont apparaitre dans mon listview... si j'aurai eu toto234.txt... il aurait eu que 2 fichiers dans mon listview. Bon vous comprenez le principe!

J'ai commencé le code, à vrai dire je suis pas mal avancé, par contre j'ai un problème avec la comparaison des répertoires! Voici le code en question :

Private Sub comparerfichier(ByVal dir As String, ByVal dir2 As String)


Try
Dim directoire1 As New DirectoryInfo(dir)
Dim directoire2 As New DirectoryInfo(dir2)
Dim fichierinfo1() As FileInfo = directoire1.GetFiles
Dim fichierinfo2() As FileInfo = directoire2.GetFiles
' info que j'ai trouver sur internet, elle vérifie, que le nom du premier fichier est pareil que le nom du deuxieme fichier
Dim dupNames = From a In fichierinfo1 Join b In fichierinfo2 On a.Name Equals b.Name Select a.Name

' info sur le listview
With Me.ListView1
.View = View.Details
.GridLines = True
.FullRowSelect = True
.CheckBoxes = True 'affiche les cases à cocher
.Columns.Add("Fichiers", 150, HorizontalAlignment.Left)
.Columns.Add("Dernière Modification", 120, HorizontalAlignment.Left)
End With
' info sur l'autre listview
With Me.ListView2
.View = View.Details
.GridLines = True
.FullRowSelect = True
.CheckBoxes = True 'affiche les cases à cocher
.Columns.Add("Fichiers", 150, HorizontalAlignment.Left)
.Columns.Add("Dernière Modification", 120, HorizontalAlignment.Left)
End With



'remplis le listview

For Each repertoire As FileInfo In fichierinfo1
'verifie les 2 repertoire pour voir si il y a des fichiers pareil
For Each repertoire2 As FileInfo In fichierinfo2
If repertoire.Name = repertoire2.Name Then
Dim fichier As New ListViewItem(repertoire.Name)
Dim fichier2 As New ListViewItem(repertoire2.Name)
'initialise le fichier1
With fichier
.Name = repertoire.Name
.SubItems.Add(repertoire.LastWriteTime.ToString)
.Tag = repertoire
End With
'initialise le fichier2
With fichier2
.Name = repertoire2.Name
.SubItems.Add(repertoire2.LastWriteTime.ToString)
.Tag = repertoire2
End With
'ajoute les 2 fichiers portant le meme nom
Me.ListView1.Items.Add(fichier)
Me.ListView2.Items.Add(fichier2)

End If

Next
Next


' dossier pareil

' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' COMPARAISON DE DIRECTOIRE NON FONCTIONNEL. MANQUE DE TEMPS POUR VÉRIFIER L'ERREUR
' LA RÉCURSIVITÉ NE SE FAIT PAS CORRECTEMENT
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''



Dim directoiresinfo() As DirectoryInfo = directoire1.GetDirectories
Dim directoires2info() As DirectoryInfo = directoire2.GetDirectories
Dim directoireGrosseur1() As String = IO.Directory.GetDirectories(dir)
Dim directoireGrosseur2() As String = IO.Directory.GetDirectories(dir2)

If directoireGrosseur1.Length <> 0 And directoireGrosseur2.Length <> 0 Then
For Each info As IO.DirectoryInfo In directoiresinfo
For Each info2 As IO.DirectoryInfo In directoires2info
If info.Name = info2.Name Then
Dim dossier As New ListViewItem(info.Name)
Dim dossier2 As New ListViewItem(info2.Name)
With dossier
.Name = info.Name
.SubItems.Add(info.LastWriteTime.ToString)
.Tag = info
End With
With dossier2
.Name = info2.Name
.SubItems.Add(info2.LastWriteTime.ToString)
.Tag = info2
End With
Me.ListView1.Items.Add(dossier)
Me.ListView2.Items.Add(dossier2)
comparerfichier(info.GetDirectories.ToString, info2.GetDirectories.ToString)
End If
Next
Next
End If

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' ERREUR DANS LA PARTIT DU CODE DU HAUT
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Je vois ai envoyer la fonction au complet pour être sur que vous ne raté rien, par-contre le problème est entre les balises, c'est-à-dire que ma récursivité ne se fait pas correctement! J'ai essayé de le suivre pas par pas, mais j'ai pas vraiment trouvé l'erreur, si jamais quelqu'un peut m'aider, ça serait vraiment gentils!

Merci beaucoup!