VBA sous ACCESS 2010

Fermé
alien59D - 20 juin 2013 à 12:12
 alien59d - 12 juil. 2013 à 08:04
Bonjour,

Depuis la migration vers Office 2010, j'ai un souci avec [fs=Application.fileSearch] qui n'est plus valide... Voici le corps de ma SUB :

Private Sub GestionImport_Click()

Dim chemin
chemin = DLookup("repertdefaut", "trepertoire")


'*******IMPORTATION ET MISE A JOUR********************
Set fs = Application.FileSearch
With fs
'Selection des fichiers CSV du répertoire
.LookIn = chemin & "\CompteRendu"
.filename = "*.csv"

'Determine le volume de fichiers trouvés dans le répertoire
If .Execute(sortby:=msoSortbyFileName, SortOrder:=msoSortOrderAscending) > 0 Then
'Il y a des fichiers CSV dans le répertoire
MsgBox "Nombre de fichiers trouvés: " & .FoundFiles.count
DoCmd.SetWarnings False

'Boucle de sélection des fichiers trouvés dans le répertoire
comptimport = 0
For i = 1 To .FoundFiles.count

'Choix= Nom du fichier séléctionné
choix = StrConv(.FoundFiles(i), vbLowerCase)

'Vérification si fichier deja importé
contrdouble = DLookup("[NumLigne]", "TSuiviImport", "[Fichier] = '" & choix & "'")

' Fichier jamais importé
If VarType(contrdouble) = 1 Then

'Creation des tables temporaires
DoCmd.CopyObject , "TImport", acTable, "TImportVide"
DoCmd.CopyObject , "TIntermediaire", acTable, "TIntermediaireVide"
'Importation du compte rendu
DoCmd.TransferText acImportDelim, "SpecifImportDMC", "TImport", choix
'Chargement dans le fichier TIntermediaire
DoCmd.OpenQuery "RIntermediaire01"
'Nettoyage des matricules ou numero aberrants (longueur<7) dans le fichier TIntermediaire
DoCmd....
(...)
(...)
Next i
DoCmd.SetWarnings True
MsgBox "Nombre de compte-rendu importés :" & comptimport
Else

'Il n'y a aucun fichiers CSV dans le répertoire
MsgBox "Répertoire vide"
End If

End With

DoCmd.SetWarnings False

>>> avez-vous une solution de rechange, svp, merci

1 réponse

tbopsia Messages postés 23 Date d'inscription lundi 17 juin 2013 Statut Membre Dernière intervention 20 juin 2013 4
Modifié par tbopsia le 20/06/2013 à 12:34
Hello,

Essayes ceci

Dim Chemin As String
Dim Fichiers As String
Chemin = DLookup("repertdefaut", "trepertoire") & "\CompteRendu"
Fichiers = Dir(Chemin & "\*.csv", vbDirectory)
Do While (Fichiers <> "")
      choix = Fichiers
      contrdouble = DLookup("[NumLigne]", "TSuiviImport", "[Fichier] = '" & choix & "'")
      If VarType(contrdouble) = 1 Then
        ...
      End If
      Fichiers = Dir
Loop


Cordialement
1
Merci 'tbopsia'...
étant en congé je n'ai pu consulter qu'hier et vais tenter de modifier en conséquence dans mon module...
à bientôt !
0