J'utilise le code suivant pour importer tous les fichiers CSV de D: \ Report dans Excel avec chaque fichier d'une nouvelle feuille avec le nom du fichier comme nom de feuille.Faire tout contrôle d'erreur pour Excel Importation VBA
Je cherche à inclure un contrôle d'erreur pour permettre au code d'être exécuté une deuxième fois si un fichier ne se trouvait pas dans le répertoire Report. Le problème actuel est que le code s'exécutera à nouveau mais les bombes sortiront car vous ne pouvez pas avoir le même nom pour deux feuilles et je ne veux pas que les mêmes fichiers soient importés à nouveau.
Sub ImportAllReportData()
'
' Import All Report Data
' All files in D:\Report will be imported and added to seperate sheets using the file names in UPPERCASE
'
Dim strPath As String
Dim strFile As String
'
strPath = "D:\New\"
strFile = Dir(strPath & "*.csv")
Do While strFile <> ""
With ActiveWorkbook.Worksheets.Add
With .QueryTables.Add(Connection:="TEXT;" & strPath & strFile, _
Destination:=.Range("A1"))
.Parent.Name = Replace(UCase(strFile), ".CSV", "")
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End With
strFile = Dir
Loop
End Sub
Toute aide serait grandement appréciée
Merci beaucoup, a parfaitement fonctionné! .. – Adam