[RESOLU] : Fichier source données externes

Will-e-coyote

XLDnaute Occasionnel
Bonsoir le Forum !

J'ai une connexion à une source de données externes de type texte (.csv ou .txt). Je cherche par VBA a récupérer le fichier d'origine des données présentes.
Cette propriété, accessible via le ruban données => connexions => propriétés => onglet définition (cf PJ), devrait être le sourcedatafile de la connexion mais lorsque j'essaie de la manipuler, j'ai une erreur 445 sur le "set"

Code:
Dim MyConn As ODBCConnection

    For Each Cn In ActiveWorkbook.Connections
        Set MyConn = Cn.ODBCConnection
        MsgBox MyConn.ODBCConnection.SourceDataFile
    Next

Je pense que cela est dû au fait qu'il ne s'agit pas d'une vraie connexion ODBC. J'ai alors essayé de remplacer ODBC par OLEDB mais pour le même résultat.

Le fait que la connexion soit issue d'un fichier texte me semble la source du problème mais je n'arrive pas à résoudre mon problème... Quelqu'un a t il une idée ?

Merki :rolleyes:
 

Pièces jointes

  • BdD Propriéte de connexion.docx
    27.4 KB · Affichages: 34
Dernière édition:

camarchepas

XLDnaute Barbatruc
Re : Fichier source données externes

Bonjour ,

Si le but est d'avoir le contenu du fichier text dans une variable ,

une solution possible :
Code:
Sub dd()
Dim Fso As Object, Fichier As Object
Dim Lecture As String
 
Set Fso = CreateObject("Scripting.FileSystemObject")
 Set Fichier = Fso.OpenTextFile("C:\Appli_Excel\Test doc.txt", 1)
  Lecture = Fichier.ReadAll
Fichier.Close

End Sub
 

Will-e-coyote

XLDnaute Occasionnel
Re : Fichier source données externes

Bonjour camarchepas,

Non, le but n'est pas de récupérer le contenu du fichier texte (qui est en fait assimilable à une base), mais de récupérer le nom du fichier seulement (avec ou sans le chemin, c'est égal).

Mon texte n'était sans doute pas suffisamment clair, mais je parle bien de sourcedatafile. cette propriété ne m'est pas accessible dans ce cas (il s'agit d'une source de données externe au format texte) via la commande VBA que j'utilise, mais il est néanmoins accessible via l'interface comme indiqué dans la vue contenue dans le .docx.

Il devrait donc y avoir un moyen d'y accéder via VBA, soit je m'y prends mal (malgré la consultation de l'aide office) soit je n'utilise pas la bonne méthode, d'où ma demande....


Par avance merci:cool:
Cordialement
 

Will-e-coyote

XLDnaute Occasionnel
Bonsoir le forum !

Merci pour celles et ceux qui auront accordé un peu de temps à ce post.
Je n'ai pas eu de réponse mais j'ai tout de même trouvé la solution et c'est une fois de plus l'enrgistreur de macro qui m'a mis sur la voie :En créant une source de données externe, le code VBA généré fait apparaitre un objet Querytable.

Il suffisait donc d'aller chercher la propriété connection qui contient le nom du fichier précédé du type de table genre

Code:
"TEXT;R:\2-SPB\23-SPB3\Exécution\2014\SUIVI 2014\K - Situation de trésorerie\ZB01HT2CP_20141104_1500.txt"

Un p'tit split pour isoler le nom du fichier et le tour est joué ....:cool:

@ bientôt
 

Discussions similaires

Statistiques des forums

Discussions
312 231
Messages
2 086 441
Membres
103 210
dernier inscrit
Bay onais