Lire fichier externe pour exploitation

Le
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: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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Blaise Cacramp
Le #19684051
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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






Bruno Frisque
Le #19684041
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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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










Blaise Cacramp
Le #19685021
Selon : Bonjour ou bonsoir

La Méthode TransferText ?


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


"Bruno Frisque" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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














Bruno Frisque
Le #19686861
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" news:eTbvMH1%
Selon : Bonjour ou bonsoir

La Méthode TransferText ?


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


"Bruno Frisque" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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


















Bruno Frisque
Le #19706961
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" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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














Blaise Cacramp
Le #19709561
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" 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" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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


















Bruno Frisque
Le #19710911
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" 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" 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" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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






















Blaise Cacramp
Le #19711061
Selon : - ou bonsoir puisque t'es belge comme moi

Tiens nous au courant, tout simplement


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


"Bruno Frisque" 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" 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" 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" 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" news:OleOvRz%
Selon : Bonjour ou bonsoir

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


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


"Bruno Frisque" 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


























Bruno Frisque
Le #19711201
Je n'y manquerai pas.

Merci ... mon Commandant -:)
A+


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

Tiens nous au courant, tout simplement


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


"Bruno Frisque" 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
Le #19716921
Selon : Bonjour ou bonsoir

Stp ;-)


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


"Bruno Frisque" news: Och9U%23n$
Je n'y manquerai pas.

Merci ... mon Commandant -:)
A+


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

Tiens nous au courant, tout simplement


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


"Bruno Frisque" 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?










Publicité
Poster une réponse
Anonyme