[VBA] Récupérer un fichier texte sur le net et l'ouvrir ?
Le
TeZ

Bonsoir à toutes et tous :o)
Voilà ce que je voudrais réaliser :
Via Excel et le VBA :
- Vérifier l'existence d'un fichier texte sur le net (je connais le nom du
fichier, et l'url)
- Télécharger ce fichier et l'enregistrer dans un répertoire en local
- Ouvrir le fichier, faire un copier de l'ensemble du texte du fichier et le
coller en A1
- Fermer le fichier texte
C'est tout, mais je ne sais même pas par où commencer :o/
Merci pour votre aide
(nota à part pour la manipulation de fichiers, je connais relativement bien
le VBA)
TeZ
Voilà ce que je voudrais réaliser :
Via Excel et le VBA :
- Vérifier l'existence d'un fichier texte sur le net (je connais le nom du
fichier, et l'url)
- Télécharger ce fichier et l'enregistrer dans un répertoire en local
- Ouvrir le fichier, faire un copier de l'ensemble du texte du fichier et le
coller en A1
- Fermer le fichier texte
C'est tout, mais je ne sais même pas par où commencer :o/
Merci pour votre aide
(nota à part pour la manipulation de fichiers, je connais relativement bien
le VBA)
TeZ
Un moyen très simple : menu Données => Nouvelle requête sur le Web, tape l'URL
de ton fichier texte et valide. C'est tout !
Sinon, tu peux aussi ouvrir directement un fichier Web avec OpenText en donnant
son URL.
Exemple avec un fichier délimité avec des tabulations :
On Error Resume Next
Workbooks.OpenText "http://monsite.com/monfichier.txt", xlWindows, _
1, xlDelimited, ConsecutiveDelimiter:úlse, Tab:=True
If Err Then MsgBox Err.Description: Exit Sub
On Error GoTo 0
Si le fichier ne peut pas être ouvert, le message d'erreur idoine sera affiché.
Si tu veux aussi en copier le contenu dans la feuille active :
On Error Resume Next
Workbooks.OpenText "http://monsite.com/monfichier.txt", xlWindows, _
1, xlDelimited, ConsecutiveDelimiter:úlse, Tab:=True
If Err Then MsgBox Err.Description: Exit Sub
On Error GoTo 0
With Application
.ScreenUpdating = False
ActiveSheet.Cells.Copy
.DisplayAlerts = False
ActiveWorkbook.Close False
ActiveSheet.Paste
.CutCopyMode = False
.DisplayAlerts = True
End With
Cordialement,
Laurent