OVH Cloud OVH Cloud

Importation d'un fichier texte situé à une adresse intranet http://...

5 réponses
Avatar
Denn
A travers VBA, comment faire pour importer, dans une table Access 2000,
les données d'un fichier texte situé à une adresse donnée sur un
intranet (adresse http://serveur/nom_fichier.txt) ?

(Je peux visualiser correctement ce fichier en mettant la même adresse
dans Internet explorer)

Merci de votre aide

5 réponses

Avatar
synopsis
Regardes la librairie tournant autour des MSXML2.XMLHttp (3.0, 4.0, 5.0,
....)

"Denn" a écrit dans le message de news:
446cdb7b$0$18339$
A travers VBA, comment faire pour importer, dans une table Access 2000, les
données d'un fichier texte situé à une adresse donnée sur un intranet
(adresse http://serveur/nom_fichier.txt) ?

(Je peux visualiser correctement ce fichier en mettant la même adresse
dans Internet explorer)

Merci de votre aide


Avatar
Denn
Ta réponse ne m'aide pas beaucoup ? y-a-il une fonction VBA qui joue ce
rôle dans Access

Dans Excel, on peut faire ce que je veux par le code suivant (macro
obtenu en enregistrant les actions : Données/Données externes/Nouvelles
requête sur le WEB/...)

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;Sejourtéléchargésdepenses.csv", Destination:=Range("A1"))
.Name = "depenses"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:úlse
End With
End Sub

Une solution qui marche est donc de récupérer les données du fichier
texte (qui se trouve à l'URL donnée) dans Excel, puis d'attacher une
table Access à cette feuille Excel

Mais il aurait été plus élégant de se passer de l'intermédiaire Excel...

Si vous avez des idées...merci d'avance



Regardes la librairie tournant autour des MSXML2.XMLHttp (3.0, 4.0, 5.0,
....)


"Denn" a écrit dans le message de news:
446cdb7b$0$18339$

A travers VBA, comment faire pour importer, dans une table Access 2000, les
données d'un fichier texte situé à une adresse donnée sur un intranet
(adresse http://serveur/nom_fichier.txt) ?

(Je peux visualiser correctement ce fichier en mettant la même adresse
dans Internet explorer)

Merci de votre aide






Avatar
Denn
Je renouvelle ma demande :
A travers VBA, comment faire pour importer, dans une table Access
2000, les données d'un fichier texte situé à une adresse donnée sur
un intranet (adresse http://serveur/nom_fichier.txt) ?

Dans Excel, on peut faire ce que je veux par le code suivant (macro
obtenu en enregistrant les actions : Données/Données externes/Nouvelles
requête sur le WEB/...)

With ActiveSheet.QueryTables.Add(Connection:= _
"URL;Sejourtéléchargésdepenses.csv", Destination:=Range("A1"))
.Name = "depenses"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlAllTables
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:úlse
End With
End Sub

Une solution qui marche est donc de récupérer les données du fichier
texte (qui se trouve à l'URL donnée) dans Excel, puis d'attacher une
table Access à cette feuille Excel

Mais il aurait été plus élégant de se passer de l'intermédiaire Excel...

Si vous avez des idées...merci d'avance



Regardes la librairie tournant autour des MSXML2.XMLHttp (3.0, 4.0,
5.0, ....)


"Denn" a écrit dans le message de news:
446cdb7b$0$18339$

A travers VBA, comment faire pour importer, dans une table Access
2000, les données d'un fichier texte situé à une adresse donnée sur
un intranet (adresse http://serveur/nom_fichier.txt) ?

(Je peux visualiser correctement ce fichier en mettant la même
adresse dans Internet explorer)

Merci de votre aide








Avatar
Salut

"Denn" a écrit dans le message de news: 446f116a$0$21297$
Je renouvelle ma demande :
A travers VBA, comment faire pour importer, dans une table Access
2000, les données d'un fichier texte situé à une adresse donnée sur
un intranet (adresse http://serveur/nom_fichier.txt) ?



on peut lire le contenu directement en ligne (en une seule fois) et le stocker dans une variable,
mais ce n'est pas très pratique car il te faudra le découper et le charger par parties
dans ta table


je te suggère donc plutôt de rapâtrier le fichier en local
http://www.3stone.be/access/articles.php?lng=fr&pg

puis d'importer son contenu ligne par ligne (enregistrement par enregistrement)
via dao
http://www.3stone.be/access/articles.php?lng=fr&pg5
ou en sql sur le même principe :
currentdb.execute "insert into latable fields(a,b,c) etc...

puis enfin de supprimer le fichier téléchargé (kill)

a+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------

Avatar
Denn
Merci de ta solution...ça marche.


Salut

"Denn" a écrit dans le message de news: 446f116a$0$21297$
Je renouvelle ma demande :
A travers VBA, comment faire pour importer, dans une table Access
2000, les données d'un fichier texte situé à une adresse donnée sur
un intranet (adresse http://serveur/nom_fichier.txt) ?



on peut lire le contenu directement en ligne (en une seule fois) et le stocker dans une variable,
mais ce n'est pas très pratique car il te faudra le découper et le charger par parties
dans ta table


je te suggère donc plutôt de rapâtrier le fichier en local
http://www.3stone.be/access/articles.php?lng=fr&pg

puis d'importer son contenu ligne par ligne (enregistrement par enregistrement)
via dao
http://www.3stone.be/access/articles.php?lng=fr&pg5
ou en sql sur le même principe :
currentdb.execute "insert into latable fields(a,b,c) etc...

puis enfin de supprimer le fichier téléchargé (kill)

a+