Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

W2010 : ouvrir un fichier .txt dans une procedure VB

5 réponses
Avatar
le Nordiste
Bonsoir,


Comment faire pour avoir acc=E9s =E0 un fichier ( .txt) au choix ?

L'enregistreur de macro ne me donne pas du code =E8x=E9cutable.



Merci pour votre collaboration.

5 réponses

Avatar
Geo
Bonjour à le Nordiste qui nous a écrit :

Comment faire pour avoir accés à un fichier ( .txt) au choix ?



Faites une recherche dans l'aide avec
Global.Dialogs

Ce n'est pas très documenté, mais au moins vous avez une base.

--
A+
Avatar
Gloops
le Nordiste a écrit, le 07/11/2011 16:49 :
Bonsoir,


Comment faire pour avoir accés à un fichier ( .txt) au choix ?

L'enregistreur de macro ne me donne pas du code èxécutable.



Merci pour votre collaboration.



Faut-il comprendre que l'utilisateur doit sélectionner un fichier à
l'aide d'une boîte de dialogue ?

Comme recherche je suggèrerais bien "Word GetOpenFileName"

ça mène par exemple à ceci, dans un newsgroup :

Dim finput As FileDialog
Dim Chemin As String

Set finput = Application.FileDialog(msoFileDialogOpen)
finput.Show

Chemin = finput.SelectedItems(1)

MsgBox "Le chemin est " & Chemin, vbInformation, "Test"
Avatar
le Nordiste
Impeccable,

Et pour ouvrir le fichier sélectionné ?

Merci pour votre aide
Avatar
Gloops
le Nordiste a écrit, le 18/11/2011 13:25 :
Impeccable,

Et pour ouvrir le fichier sélectionné ?

Merci pour votre aide



C'est plus basique, comme question, non ?

ça va, comme réponse, ça ?
http://msdn.microsoft.com/en-us/library/bb216319%28v=office.12%29.aspx
Avatar
Gloops
le Nordiste a écrit, le 18/11/2011 13:25 :
Impeccable,

Et pour ouvrir le fichier sélectionné ?

Merci pour votre aide



Euh, je crois que j'ai répondu comme un âne, à l'instant.

Si je ne m'abuse il s'agit de lire ligne par ligne un fichier texte,
dans un code VBA ?

Et donc le chemin vers le fichier se trouvait dans la variable String
qui s'appelle Chemin.

Dim strLigne As String

Open Chemin For Input As #1
While Not EOF(1)
Line Input #1, strLigne
Debug.Print strLigne
Wend
Close #1

Je suis parti du principe qu'on n'a pas de fichier n° 1 d'ouvert.
Pour éviter de se tromper sur cette présomption, on aurait pu utilise r
la fonction FreeFile, qui retourne le premier numéro de fichier disponi ble.

En regardant dans l'aide (à Input par exemple) on peut trouver d'autres
instructions de lecture, capables de lire plusieurs variables sur une lig ne.