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

Lire fichier externe pour exploitation

12 réponses
Avatar
Bruno Frisque
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier sous
Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:\Data\" & "voieutf8", 1, False) '< ok BUT
still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '< file
not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:\Data\voieutf8", 1, False)
'bad file name or number
'Set File = FSO.OpenTextFile("C:\i386\Notepad.exe" & " C:\Data\voieutf8",
1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:\i386\Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file not
found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno

10 réponses

1 2
Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok BUT
still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '< file
not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & " C:Datavoieutf8",
1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file not
found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno






Avatar
Bruno Frisque
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é sont 2
car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok BUT
still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & " C:Datavoieutf8",
1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file not
found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno










Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

La Méthode TransferText ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é sont
2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file not
found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno














Avatar
Bruno Frisque
Merci réponse,

Je vais essayer cela.
Mais il faut d'abord pouvoir "ouvrir" et lire le fichier extérieur ...
Quelque chose comme :

FSO ouvre via Notepad.exe le fichier Voieutf8
Et on traite les records jusqu'à EndOfFile ..

Encore merci


"Blaise Cacramp" wrote in message
news:eTbvMH1%
Selon : Bonjour ou bonsoir

La Méthode TransferText ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é sont
2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file
not found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file
not found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno


















Avatar
Bruno Frisque
Bonjour bonjour,

En utilisant FSO, les records s'affichent en UTF8 code, et donc (très)
difficilement exploitables ...
Dim fso, ts, s
Const ForReading = 1 '< 1 = Unicode ?
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:DataVoies", ForReading)
Do Until ts.AtEndOfStream
s = ts.ReadLine
Debug.Print "Record content = " & s
'do whathever you want avec ce record
Ce qui nous donne :
9999999910001017Rue de la /Collégiale*/Collegialestraat#



Avec Call Shell("NOTEPAD.EXE" & " C:Datavoies", 1)
Le Notepad s'affiche avec les records bien traduits :

9999999910001017Rue de la /Collégiale*/Collegialestraat#

La question donc :
Comment introduire le NOTEPAD.exe dans ce FSO ??
OU : est-il possible de parcourir les enregistrements de cette fenêtre
Notepad ??

D'avance merci !

pm : TransferText ne concerne que des tables d'Access. Et le fichier 'Voies'
est séparé du programme, et change toutes les semaines ... Donc pas possible
de l'importer ni de le Linker.



"Bruno Frisque" wrote in message
news:OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é sont
2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file not
found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno














Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir.


TransferText (oui je suis parfois têtu) permet de transférer des données
externes vers une table Access. (on est bien dans un forum Access).
Une fois ces données transférées, tu en fais ce que tu veux, facilement.
Peu importe qu'elles changent toutes les mois, toutes les semaines ou toutes
les heures.

+++

Tu ne sauras pas _intégrer_ notepad *dans* FSO, ce sont deux mondes
différents. Par contre, l'un après l'autre ...
Alors, tu ouvres ton fichier dans notepad.exe
puis tu fais "enregistrer sous" et tu choisis le format qui te convient et
t'enregistres.
Tu peux alors lancer ta procédure FSO.

+++

Pour automatiser, tu peux explorer la piste du SendKeys. Je me souviens
qu'en VB on pouvait "envoyer des touches" à une application externe
(D'ailleurs l'exemple de la doc le faisait avec calc.exe). Avec VBA, je ne
sais pas trop si c'est faisable tel quel, mais il devrait y avoir moyen ne
fut-ce qu'au travers d'API.
J'ai pas envie de chercher aujourd'hui.

Il faut quand même savoir que SendKeys est archaïque et qu'une intervention
manuelle peut perturber le bon fonctionnement avec alors des résultats
complètement imprévisibles.

+++

Ensuite, je suis sérieusement sceptique quand à la capacité de notepad
d'ouvrir 150000 enregistrements du type "9999999910001017Rue de la
/Collégiale*/Collegialestraat#"

Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: e42BWJj$
Bonjour bonjour,

En utilisant FSO, les records s'affichent en UTF8 code, et donc (très)
difficilement exploitables ...
Dim fso, ts, s
Const ForReading = 1 '< 1 = Unicode ?
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:DataVoies", ForReading)
Do Until ts.AtEndOfStream
s = ts.ReadLine
Debug.Print "Record content = " & s
'do whathever you want avec ce record
Ce qui nous donne :
9999999910001017Rue de la /Collégiale*/Collegialestraat#



Avec Call Shell("NOTEPAD.EXE" & " C:Datavoies", 1)
Le Notepad s'affiche avec les records bien traduits :

9999999910001017Rue de la /Collégiale*/Collegialestraat#

La question donc :
Comment introduire le NOTEPAD.exe dans ce FSO ??
OU : est-il possible de parcourir les enregistrements de cette fenêtre
Notepad ??

D'avance merci !

pm : TransferText ne concerne que des tables d'Access. Et le fichier
'Voies' est séparé du programme, et change toutes les semaines ... Donc
pas possible de l'importer ni de le Linker.



"Bruno Frisque" wrote in message
news:OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é sont
2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le fichier
sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file
not found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file
not found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno


















Avatar
Bruno Frisque
Tout grand merci de continuer à ce pencher sur ce problème.

Mais si, Notepad ouvre bien et traduit (accents corrects) le fichier 'Voies'
qui fait ce jour 157.000 lignes. (plus longues que le petit exemple)
Je vais donc poursuivre avec "TransferText" sachant que j'avais déjà bien
essayé .... mais il voulait une "Table" en source.

Mais oui on est sur ce (cher) Forum Access, et il s'agit bien ici
d'exploiter, ligne par ligne, un fichier externe sans extension et en UTF8.
Et ce depuis un simple Form, mais bourré de code, pour rechercher les infos
(dates, code rue, code postal ..) contenues dans le fichier et sur base de
nom de rues, et dans trois langues.
Il est exclu de vouloir l'importer ou même linker, pcq alors il serait
"visible" de l'utilisateur, et est quand même assez coûteux ...

Encore grand merci et à bientôt pour une suite?



"Blaise Cacramp" wrote in message
news:%230JpN1l$
Selon : Bonjour ou bonsoir.


TransferText (oui je suis parfois têtu) permet de transférer des données
externes vers une table Access. (on est bien dans un forum Access).
Une fois ces données transférées, tu en fais ce que tu veux, facilement.
Peu importe qu'elles changent toutes les mois, toutes les semaines ou
toutes les heures.

+++

Tu ne sauras pas _intégrer_ notepad *dans* FSO, ce sont deux mondes
différents. Par contre, l'un après l'autre ...
Alors, tu ouvres ton fichier dans notepad.exe
puis tu fais "enregistrer sous" et tu choisis le format qui te convient et
t'enregistres.
Tu peux alors lancer ta procédure FSO.

+++

Pour automatiser, tu peux explorer la piste du SendKeys. Je me souviens
qu'en VB on pouvait "envoyer des touches" à une application externe
(D'ailleurs l'exemple de la doc le faisait avec calc.exe). Avec VBA, je
ne sais pas trop si c'est faisable tel quel, mais il devrait y avoir moyen
ne fut-ce qu'au travers d'API.
J'ai pas envie de chercher aujourd'hui.

Il faut quand même savoir que SendKeys est archaïque et qu'une
intervention manuelle peut perturber le bon fonctionnement avec alors des
résultats complètement imprévisibles.

+++

Ensuite, je suis sérieusement sceptique quand à la capacité de notepad
d'ouvrir 150000 enregistrements du type "9999999910001017Rue de la
/Collégiale*/Collegialestraat#"

Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: e42BWJj$
Bonjour bonjour,

En utilisant FSO, les records s'affichent en UTF8 code, et donc (très)
difficilement exploitables ...
Dim fso, ts, s
Const ForReading = 1 '< 1 = Unicode ?
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:DataVoies", ForReading)
Do Until ts.AtEndOfStream
s = ts.ReadLine
Debug.Print "Record content = " & s
'do whathever you want avec ce record
Ce qui nous donne :
9999999910001017Rue de la /Collégiale*/Collegialestraat#



Avec Call Shell("NOTEPAD.EXE" & " C:Datavoies", 1)
Le Notepad s'affiche avec les records bien traduits :

9999999910001017Rue de la /Collégiale*/Collegialestraat#

La question donc :
Comment introduire le NOTEPAD.exe dans ce FSO ??
OU : est-il possible de parcourir les enregistrements de cette fenêtre
Notepad ??

D'avance merci !

pm : TransferText ne concerne que des tables d'Access. Et le fichier
'Voies' est séparé du programme, et change toutes les semaines ... Donc
pas possible de l'importer ni de le Linker.



"Bruno Frisque" wrote in message
news:OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é
sont 2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits avec
accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le
fichier sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1, False)
'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file
not found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file
not found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno






















Avatar
Blaise Cacramp
Selon : - ou bonsoir puisque t'es belge comme moi

Tiens nous au courant, tout simplement


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: uwOXFmn$
Tout grand merci de continuer à ce pencher sur ce problème.

Mais si, Notepad ouvre bien et traduit (accents corrects) le fichier
'Voies' qui fait ce jour 157.000 lignes. (plus longues que le petit
exemple)
Je vais donc poursuivre avec "TransferText" sachant que j'avais déjà bien
essayé .... mais il voulait une "Table" en source.

Mais oui on est sur ce (cher) Forum Access, et il s'agit bien ici
d'exploiter, ligne par ligne, un fichier externe sans extension et en
UTF8. Et ce depuis un simple Form, mais bourré de code, pour rechercher
les infos (dates, code rue, code postal ..) contenues dans le fichier et
sur base de nom de rues, et dans trois langues.
Il est exclu de vouloir l'importer ou même linker, pcq alors il serait
"visible" de l'utilisateur, et est quand même assez coûteux ...

Encore grand merci et à bientôt pour une suite?



"Blaise Cacramp" wrote in message
news:%230JpN1l$
Selon : Bonjour ou bonsoir.


TransferText (oui je suis parfois têtu) permet de transférer des données
externes vers une table Access. (on est bien dans un forum Access).
Une fois ces données transférées, tu en fais ce que tu veux, facilement.
Peu importe qu'elles changent toutes les mois, toutes les semaines ou
toutes les heures.

+++

Tu ne sauras pas _intégrer_ notepad *dans* FSO, ce sont deux mondes
différents. Par contre, l'un après l'autre ...
Alors, tu ouvres ton fichier dans notepad.exe
puis tu fais "enregistrer sous" et tu choisis le format qui te convient
et t'enregistres.
Tu peux alors lancer ta procédure FSO.

+++

Pour automatiser, tu peux explorer la piste du SendKeys. Je me souviens
qu'en VB on pouvait "envoyer des touches" à une application externe
(D'ailleurs l'exemple de la doc le faisait avec calc.exe). Avec VBA, je
ne sais pas trop si c'est faisable tel quel, mais il devrait y avoir
moyen ne fut-ce qu'au travers d'API.
J'ai pas envie de chercher aujourd'hui.

Il faut quand même savoir que SendKeys est archaïque et qu'une
intervention manuelle peut perturber le bon fonctionnement avec alors des
résultats complètement imprévisibles.

+++

Ensuite, je suis sérieusement sceptique quand à la capacité de notepad
d'ouvrir 150000 enregistrements du type "9999999910001017Rue de la
/Collégiale*/Collegialestraat#"

Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: e42BWJj$
Bonjour bonjour,

En utilisant FSO, les records s'affichent en UTF8 code, et donc (très)
difficilement exploitables ...
Dim fso, ts, s
Const ForReading = 1 '< 1 = Unicode ?
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("c:DataVoies", ForReading)
Do Until ts.AtEndOfStream
s = ts.ReadLine
Debug.Print "Record content = " & s
'do whathever you want avec ce record
Ce qui nous donne :
9999999910001017Rue de la /Collégiale*/Collegialestraat#



Avec Call Shell("NOTEPAD.EXE" & " C:Datavoies", 1)
Le Notepad s'affiche avec les records bien traduits :

9999999910001017Rue de la /Collégiale*/Collegialestraat#

La question donc :
Comment introduire le NOTEPAD.exe dans ce FSO ??
OU : est-il possible de parcourir les enregistrements de cette fenêtre
Notepad ??

D'avance merci !

pm : TransferText ne concerne que des tables d'Access. Et le fichier
'Voies' est séparé du programme, et change toutes les semaines ... Donc
pas possible de l'importer ni de le Linker.



"Bruno Frisque" wrote in message
news:OV$xRVz%
Merci réponse,

Dans ce cas, cela fonctionne ok, mais le texte reste en UTF8 (les é
sont 2 car chinois .. etc)
Quand on appelle ce fichier sous Notaped, les records sont parfaits
avec accents etc ...

Question donc : comment ouvrir Notepas et en exploiter les records ?
(+/- 150.000)

En core merci !


"Blaise Cacramp" wrote in message
news:OleOvRz%
Selon : Bonjour ou bonsoir

En retirant toute référence à notepad (et son chemin) dans le FSO ?


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message
de news: %23M2Lrzx%
Bonjour le Groupe,

Il me faudrait pouvoir lire un fichier 'VoieUtf8', qui n'a pas
d'extension.
J'ai tente call shell(notepad voieutf8, il affiche bien tout le
fichier sous Notaped, mais sans pouvoir l'exploiter ..
J'ai alors tente tout ceci :

Set FSO = CreateObject("Scripting.FileSystemObject")

Dim File As Object
'Set File = FSO.OpenTextFile("C:Data" & "voieutf8", 1, False) '< ok
BUT still in UTF8 ! (no notepad) 01/07/09
'Set File = FSO.OpenTextFile("Notepad.exe" & "voieutf8", 1, False) '<
file not found
'Set File = FSO.OpenTextFile("Notepad.exe" & " C:Datavoieutf8", 1,
False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe" & "
C:Datavoieutf8", 1, False) 'bad file name or number
'Set File = FSO.OpenTextFile("C:i386Notepad.exe voieutf8", 1,
False) 'file not found
'Set File = FSO.OpenTextFile("Notepad voieutf8", 1, False) 'file not
found
'Set File = FSO.OpenTextFile("Notepad.exe voieutf8", 1, False) 'file
not found
'Set File = FSO.OpenTextFile("Notepad.exe ", 1, False) ' ligne lue =
chinese ?
'Set File = FSO.OpenTextFile("Notepad.exe Voieutf8", 1, False) 'file
not found

Une idée ou une piste serait plus que bienvenue !

D'avance merci
Bien à vous
Bruno


























Avatar
Bruno Frisque
Je n'y manquerai pas.

Merci ... mon Commandant -:)
A+


"Blaise Cacramp" wrote in message
news:u3d3fyn$
Selon : - ou bonsoir puisque t'es belge comme moi

Tiens nous au courant, tout simplement


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: uwOXFmn$
Tout grand merci de continuer à ce pencher sur ce problème.

Mais si, Notepad ouvre bien et traduit (accents corrects) le fichier
'Voies' qui fait ce jour 157.000 lignes. (plus longues que le petit
exemple)
Je vais donc poursuivre avec "TransferText" sachant que j'avais déjà bien
essayé .... mais il voulait une "Table" en source.

Mais oui on est sur ce (cher) Forum Access, et il s'agit bien ici
d'exploiter, ligne par ligne, un fichier externe sans extension et en
UTF8. Et ce depuis un simple Form, mais bourré de code, pour rechercher
les infos (dates, code rue, code postal ..) contenues dans le fichier et
sur base de nom de rues, et dans trois langues.
Il est exclu de vouloir l'importer ou même linker, pcq alors il serait
"visible" de l'utilisateur, et est quand même assez coûteux ...

Encore grand merci et à bientôt pour une suite?






Avatar
Blaise Cacramp
Selon : Bonjour ou bonsoir

Stp ;-)


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: Och9U%23n$
Je n'y manquerai pas.

Merci ... mon Commandant -:)
A+


"Blaise Cacramp" wrote in message
news:u3d3fyn$
Selon : - ou bonsoir puisque t'es belge comme moi

Tiens nous au courant, tout simplement


Cdt, Blaise
---- ---- ----


"Bruno Frisque" a écrit dans le message de
news: uwOXFmn$
Tout grand merci de continuer à ce pencher sur ce problème.

Mais si, Notepad ouvre bien et traduit (accents corrects) le fichier
'Voies' qui fait ce jour 157.000 lignes. (plus longues que le petit
exemple)
Je vais donc poursuivre avec "TransferText" sachant que j'avais déjà
bien essayé .... mais il voulait une "Table" en source.

Mais oui on est sur ce (cher) Forum Access, et il s'agit bien ici
d'exploiter, ligne par ligne, un fichier externe sans extension et en
UTF8. Et ce depuis un simple Form, mais bourré de code, pour rechercher
les infos (dates, code rue, code postal ..) contenues dans le fichier et
sur base de nom de rues, et dans trois langues.
Il est exclu de vouloir l'importer ou même linker, pcq alors il serait
"visible" de l'utilisateur, et est quand même assez coûteux ...

Encore grand merci et à bientôt pour une suite?










1 2