Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Requêtage dans fichier CSV

Dymouille

XLDnaute Nouveau
Bonjour à tous !

j'ai récupéré un petit bout de code que j'essaye d'adapter a ma sauce,
mais la je suis complètement bloqué,
Quand j'essaye de me connecter à mon fichier CSV j'ai cette erreur :


VB:
Csv_CN.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & _
      DossierCSV & ";Extended Properties='text;FMT=Delimited'"

(j'ai bien activer la référence Microsoft ActiveX Data Objects)

Je vous joins le fichier avec la macro entière.

si quelqu'un a une solution, Merci d'avance !
 

Pièces jointes

  • essai.xlsm
    19.2 KB · Affichages: 23

Dymouille

XLDnaute Nouveau
Hello,

merci pour ta réponse rapide,
ca ne marche pas, erreur de compilation,
et quand j'accepte les changements proposés par Excel
VB:
Csv_CN.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
DossierCSV & ";Extended Properties=""Excel 12.0;HDR=No/YES"""""

j'ai ca comme erreur :

 

dysorthographie

XLDnaute Accro
désolé je t'es donné pour un fichier Excel pas pour CSV!

voila la bonne version!
notes qu'il faut faire le choix HDR=No/YES HDR indique sil la première ligne du fichier est l'entête de colonnes!
VB:
     = "ProviderMicrosoft.ACE.OLEDB.12.0;Data Source=" & DossierCSV & ";Extended Properties=""Text;HDR=No/YES;FMT=Delimited;"""
 

dysorthographie

XLDnaute Accro
pour ce qui concerne le répertoire je ne peut pas grand chose pour toi!
en revanche tu peux tester la connexion sur le répertoire TEMP!
VB:
DossierCSV =environ("TEMP")
 sv_CN.Open = "ProviderMicrosoft.ACE.OLEDB.12.0;Data Source=" & DossierCSV & ";Extended Properties=""Text;HDR=No=Delimited;"""
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Vous avez Excel 2016, faites le avec Power Query, inclus dans votre version et disponible par l'onglet 'Données/A partir d'un fichier texte ou csv'.

Avant d'actualiser la requête mettez le chemin et nom complet du fichier 'Prenoms.txt' dans la feuille paramètres en B2

Voici un exemple

Cordialement
 

Pièces jointes

  • Prenoms.txt
    294.7 KB · Affichages: 4
  • interrogation prénoms.xlsm
    205.3 KB · Affichages: 4

Dymouille

XLDnaute Nouveau
Bonjour Roblochon,

merci pour ta solution mais je dois importer 28 fichier Csv dans une base Access en requetant sur les données de ces derniers !
je pense pas pouvoir le faire avec ta méthode !



Dysorthographie,

La connexion avec le dossier est good,
maintenant ca bloque au niveau de la requête,
il me dit qu'il trouve bien le dossier, mais pas le fichier qui est dans ce dossier

VB:
Csv_Rst.Open "SELECT * FROM " & FichCSV, Csv_CN, _
        adOpenStatic, adLockOptimistic
 
Dernière édition:

Dymouille

XLDnaute Nouveau
VB:
Public Sub transfert(NomFichierCsv As String, NomTableAccess As String)

--

end sub

Sub try()

transfert "3010337111109#csv", "try"

End Sub

si j'ai bien compris, comme ca ?
j'ai toujours le meme message d'erreur !
 

Dymouille

XLDnaute Nouveau
Pour le temp !
sur mon repertoire de travail quand je passe par un OneDrive ca me bloque,
je viens d'essayer depuis mon Bureau, et ca passe !
c'est different pour OneDrive et sharepoint du coup ?


Code:
Csv_CN.Execute "SELECT * INTO [" & NomTable & "] IN '" & _
        MaBase & "' From [" & FichCSV & "]", nbEnr
 

dysorthographie

XLDnaute Accro
Pour ce qui concerne OneDrive je n'es pas là réponse !

Pour moi ce n'est qu'un serveur et ça devrait passer ! Peut être un problème d'autorisation ?

Mais le message d'erreur parle de crochet et pourtant c'est la convention SQL !
 

Dymouille

XLDnaute Nouveau
Je pense que c'est une histoire d'autorisation oui !

VB:
Csv_CN.Execute "SELECT * INTO [" & NomTable & "] IN '" & _
        MaBase & "' From " & FichCSV & "", nbEnr

quand j'enleve les crochets dans le code
j'ai ce message maintenant



c'est pas une histoire champs en trop, j'ai moins de 255 champs pour une table (la limite dans access)
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…