Sub ListePlans()
Dim Doss As String, Fichier As String, Ligne As String, Plan As String, Vers As String, i As Long
Doss = ThisWorkbook.Worksheets("Scan").Range("Dossier").Value
ReDim Liste(1 To 2, 1 To 1)
Fichier = Dir(Doss & "*.catdrawing")
With ThisWorkbook.Worksheets("Scan")
Ligne = .Range("A65536").End(xlUp).Row
AncienneListe = .Range(.Range("Début"), .Range("[COLOR=red]C[/COLOR]" & Ligne)).Value
End With
i = 1
Do While Fichier <> ""
If Fichier Like "#*" Then
Fichier = Left(Fichier, InStrRev(Fichier, ".") - 1)
If InStr(1, Fichier, ".") <> 0 Then
Vers = UCase(Right(Fichier, Len(Fichier) - InStrRev(Fichier, ".")))
If Len(Vers) = 1 And Asc(UCase(Vers)) > 64 And Asc(UCase(Vers)) < 91 Then
Vers = UCase(Right(Fichier, Len(Fichier) - InStrRev(Fichier, ".")))
Plan = Left(Fichier, InStrRev(Fichier, ".") - 1)
Else
Vers = " "
Plan = Fichier
End If
Else
Vers = " "
Plan = Fichier
End If
Ligne = ExisteDansTab(Plan)
If Ligne > 0 Then
If Asc(Liste(2, Ligne)) < Asc(Vers) Then
Liste(2, Ligne) = Vers
End If
Else
ReDim Preserve Liste(1 To 2, 1 To i)
Liste(1, i) = Plan
Liste(2, i) = Vers
i = i + 1
End If
End If
Fichier = Dir
Loop
With ThisWorkbook.Worksheets("Scan")
For i = 1 To UBound(Liste, 2)
If ExisteDansAncienneListe(Liste(1, i)) = 0 Then
.Range("Date").Value = Date
Exit For
ElseIf Liste(2, i) <> AncienneListe(ExisteDansAncienneListe(Liste(1, i)), 2) Then
.Range("Date").Value = Date
Exit For
End If
Next i
.Range(.Range("Début"), .Range("[COLOR=red]C[/COLOR]65536")).ClearContents
Ligne = .Range("[COLOR=red]B65536[/COLOR]").End(xlUp).Row + 1
For i = 1 To 2
For j = 1 To UBound(Liste, 2)
.Cells(Ligne + j - 1, [COLOR=red]i+1[/COLOR]).Value = Liste(i, j)
Next j
Next i
End With
End Sub