Reading from an external file in random access

Comment définir ma Open pathname for mode input random?

et comment définir la longueur "reclength".

Chacune des plus de 2000 lignes a lire en random ont 81 characters.

Bonjour,

Si j'ai bien compris ta demande ...

To open a file for random access from VBA you can use the Open statement, as follows :

Open filename For Random As filenumber Len=buffersize

En fait, après avoir envoyé ma demande, j'ai réalisé que je n'avais pas très bien expliqué. Mais tu as déjà répondu.

J'ai près de 2000 lignes dans mon fichier (diffèrent nombre dans d'autres fichiers aussi à lire). Chaque ligne est de 81 charactères, et parfois 162 (avec les virgules).

Je souhaite a chaque lecture d'un fichier, prendre une ligne randomly., pas du tout en séquence.

Donc je me demande si " Open filename for Random" est correct.

Peut être devrait je générer un random number (avec "randint") et le soumettre pour piquer une ligne parmi celles disponibles dans les 2000.

Dans ce cas quelle serait le format de mon Open filename ?

et quoi mettre dans le buffersize? La valeur 2000? ou la valeur 81?

Chaque ligne est séparée par un carriage return évidemment.

Merci,

Hi !

It's a bit weird to open a variable line length text file in binary mode ‼

Lire le fichier texte normalement et affecter chaque ligne (remaniée si besoin) dans une variable tableau

puis utiliser la fonction Rnd pour un tirage au sort d'un indice de cette variable …

Hello. Je corrige.

Each line of all text files does have a defined length of 81 numeric characters (0 to 9).

But each file to open does have a different number of lines. Some of a few, other of several hundred, even several thousand.

Donc tu suggère que je génère un numéro random pour lire n'importe quelle ligne en random? Right?

Peut être que Input for random is not correct then?

Merci,

Hello. Je corrige.

Each line of all text files does have a defined length of 81 numeric characters (0 to 9).

But each file to open does have a different number of lines. Some of a few, other of several hundred, even several thousand.

Donc tu suggère que je génère un numéro random pour lire n'importe quelle ligne en random? Right?

Peut être que Input for random is not correct then?

Merci,

Donc le titre est en anglais mais tu ne comprends rien à l'anglais, reste en français alors ‼

Je suggère que c'est franchement beaucoup pas mal idiot d'ouvrir un fichier en binaire qui n'en est pas un !

Surtout avec une structure de ligne - qui dit ligne dit fichier texte et non binaire ! - variable car de longueurs différentes …

Qui plus est pour un novice confondant taille de texte et longueur d'enregistrement !

Donc l'idée pour un débutant est de lire le fichier texte normalement ligne à ligne, scinder la ligne si elle en contient plusieurs

(encore une conception de fichier effectuée avec les pieds au lieu de la tête !) puis l'affecter dans une variable tableau par exemple

afin de pouvoir tirer au sort un numéro d'indice s'il y a besoin de réitérer le tirage plusieurs fois dans la procédure sinon,

il suffit juste d'incrémenter un compteur pour atteindre le numéro de la ligne souhaitée …

Évidemment avec une conception du fichier digne de ce nom, pas de souci avec le mode binaire (simple en consultant l'aide VBA).

Maintenant pour un connaisseur VBA avec un tant soit peu de jugeote, avec un éditeur de fichier (hexadécimal) il suffit de vérifier

la longueur réelle des enregistrements (81 est donc faux !) et s'ils sont tous égaux, le mode binaire est alors possible sur un texte …

Mais comme déjà précisé dans le cas d'une opération répétitive, préférer la rapidité de l'accès en mémoire

dans une variable tableau à l'accès redondant au disque dur …

comprend rien en Français.

En Angalis please?

Rechercher des sujets similaires à "reading external file random access"