Plusieurs autres conseils dans d’autres numéros de ExcelTips traitent de l’ouverture, de la lecture, de l’écriture, de l’ajout et de la fermeture de fichiers texte à partir d’une macro.

Une autre commande associée aux fichiers texte séquentiels est la commande Seek. S’il est utilisé sur un fichier ouvert, Seek positionne le pointeur de fichier interne sur un numéro de caractère spécifique dans le fichier. Le fragment de code suivant est un exemple de son utilisation:

Open "DOSTEXT.DAT" for Input as #1 iFileLen = LOF(1)

Seek 1, iFileLen / 2

Ces lignes de programme utilisent la fonction LOF pour déterminer la longueur du fichier. La dernière ligne positionne alors le pointeur de fichier interne à mi-chemin du fichier. Toute lecture ou écriture ultérieure du fichier aura lieu à partir de cette position.

Vous pouvez également utiliser Rechercher comme fonction pour déterminer votre position actuelle dans un fichier texte. Voici ce que fait ce code:

iCurPos = Seek(1)

Cette commande laisse le pointeur de fichier interne là où il était, mais définit iCurPos sur une valeur représentant le nombre de caractères dans le fichier où se trouve le pointeur. La valeur iCurPos est la position à laquelle toutes les lectures et écritures ultérieures du fichier auront lieu.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (2475) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Using_Seek_In_a_Macro [Utilisation de la recherche dans une macro].