[RESOLU] : Fichier source données externes

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 🙄
 

Pièces jointes

Dernière édition:
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
 
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😎
Cordialement
 
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é ....😎

@ bientôt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

M
  • Question Question
Réponses
6
Affichages
900
Réponses
2
Affichages
358
Retour