Bonjour

Je dispose d'un macro qui me permet de récupérer le contenu de fichiers xls sans nécessité de les ouvrir :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub LireFichierFermeFP(ByVal chemin$, ByRef perso)
Dim fichier$, répertoire$
    Set cnn = New ADODB.Connection
    On Error GoTo 0
    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & chemin & ";Extended Properties='Excel 12.0;HDR=No'"
   Set rs = cnn.Execute("[" & "BI" & "$A2:K7000]")
    perso = rs.GetRows
    perso = InverseTab(perso, 0)
    rs.Close
    On Error GoTo 0
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub
J'ai essayé bêtement avec un fichier CSV, et bien sûr cela ne fonctionne pas. J'ai fait plusieurs recherches, mais toutes se sont révélées infructueuses

J'ai tenté http://excel.developpez.com/faq/inde...tFichierTXTado, mais après personnalisation, j'obtiens un message me disant " [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié", et je n'ai pas réussi à contourner ce souci.

J'ai essayé de utiliser la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set Cn = CreateObject("ADODB.Connection"): Cn.Open ("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & rep & ";Extended Properties=""Text;HDR=YES;FMT=Delimited;"";")
Mais un message me dit que le chemin d'accès n'est pas valide, alors que le fichier existe bien, et qu'en testant le même chemin en vba, tout est en ordre.

J'ai testé une 3e solution que je n'arrive pas à retrouver...

Je me suis résolu à passer par une boucle qui ouvre un par un l'ensemble des fichiers, mais il y en a plus de 300, ce serait donc plus rapide sans ouvrir.


Merci par avance pour votre aide si vous avez en tête une solution !

Bonne fin de journée
Pierre