A voir également:
- [VB] comparateurs de dossier
- Dossier appdata - Guide
- Impossible de supprimer un dossier - Guide
- Mettre un mot de passe sur un dossier - Guide
- Vb - Télécharger - Langages
- Dossier rar - Guide
1 réponse
J'ai trouvé une source qui ma éclaircie un peu ma lanterne.
Cependant lors de l'utilisation de la fonction, c'est cette variable 'aResultat(i) que je dois comparer avec mon dossier cible pour voir si le fichier existe déjà ou non ?
Car si je ne me trompe pas cette variable contiens l'ensemble des fichiers
' EXEMPLE D'UTILISATION
Private Sub Command1_Click()
Dim aResultat() As String
Dim lRet As Long
Dim i As Long
lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat())
If lRet <> -1 Then
For i = 0 To lRet
Debug.Print "Fichier " & i + 1 & " = " & aResultat(i)
Next i
End If
End Sub
Public Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
' GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
' sinon retourne la dimension du tableau, donc NB fichiers -1 (tableau commence à l'indice 0)
' init les résultats
GetFilesPathFromDirectory = -1
Erase aRet
If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
' formate le chemin
Dim sFile As String
sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
' boucle sur tous les fichiers
Do
If LenB(sFile) Then
GetFilesPathFromDirectory = GetFilesPathFromDirectory + 1
ReDim Preserve aRet(GetFilesPathFromDirectory)
aRet(GetFilesPathFromDirectory) = sDir & sFile
sFile = Dir
End If
Loop Until LenB(sFile) = 0
End Function
Cependant lors de l'utilisation de la fonction, c'est cette variable 'aResultat(i) que je dois comparer avec mon dossier cible pour voir si le fichier existe déjà ou non ?
Car si je ne me trompe pas cette variable contiens l'ensemble des fichiers
' EXEMPLE D'UTILISATION
Private Sub Command1_Click()
Dim aResultat() As String
Dim lRet As Long
Dim i As Long
lRet = GetFilesPathFromDirectory("C:\Windows\", aResultat())
If lRet <> -1 Then
For i = 0 To lRet
Debug.Print "Fichier " & i + 1 & " = " & aResultat(i)
Next i
End If
End Sub
Public Function GetFilesPathFromDirectory(ByVal sDir As String, ByRef aRet() As String, Optional ByVal sFilter As String = "*.txt") As Long
' GetFilesPathFromDirectory retourne -1 si aucun fichier trouvé
' sinon retourne la dimension du tableau, donc NB fichiers -1 (tableau commence à l'indice 0)
' init les résultats
GetFilesPathFromDirectory = -1
Erase aRet
If RightB$(sDir, 2) <> "\" Then sDir = sDir & "\"
' formate le chemin
Dim sFile As String
sFile = Dir(sDir & sFilter, vbHidden Or vbSystem)
' boucle sur tous les fichiers
Do
If LenB(sFile) Then
GetFilesPathFromDirectory = GetFilesPathFromDirectory + 1
ReDim Preserve aRet(GetFilesPathFromDirectory)
aRet(GetFilesPathFromDirectory) = sDir & sFile
sFile = Dir
End If
Loop Until LenB(sFile) = 0
End Function