Indicer des fichiers Texte dans VBA

AmaDablam Messages postés 1 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juin 2009 - 12 juin 2009 à 22:53
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 12 juin 2009 à 23:46
Bonjour,
J'ai une procédure unique VBA (version 6.3 sous Microsoft Excel 2000 sur PC) qui crée une multitude de fichiers texte (40 par exemple, mais il peut y en avoir plus).
Je m'en sors pour l'instant péniblement en écrivant :

Set fs2 = CreateObject("Scripting.FileSystemObject")

40 lignes pour définir les fichiers :
    Set sortie1 = fs2.CreateTextFile("C:\Fichier1.txt", True)   
    Set sortie2 = fs2.CreateTextFile("C:\Fichier2.txt", True)
    Set sortie3 = fs2.CreateTextFile("C:\Fichier3.txt", True)
    ------- ------- ------- -------
    Set sortie40 = fs2.CreateTextFile("C:\Fichier40.txt", True)

et ailleurs 40 instructions d'écritures disséminées dans la procédure:
    sortie1.WriteLine (Enregistrement)
    sortie2.WriteLine (Enregistrement)
    sortie3.WriteLine (Enregistrement)
    ------- ------- ------- -------
    sortie40.WriteLine (Enregistrement)

et enfin 40 instructions de fermeture :
    sortie1.close
    sortie2.close
    sortie3.close
    ------- -------
    sortie40.close

Question: Peut-on indicer sortie1, sortie2, etc... pour n'écrire qu'une instruction CreateTextFile, WriteLine et Close, par exemple en définissant des tableaux de fichiers?  Peut-on m'indiquer des pistes ? Je n'ai rien trouvé comme amorce de solution, que ce soit dans les forums ou la documentation de référence.
Merci d'avance

<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

1 réponse

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
12 juin 2009 à 23:46
Bonjour,

tu te sers de FSO abusivement et te plains ensuite de son manque de souplesse...

VB te permet pourtant de t'affranchir de trelles contingences (intéresse-toi à l'instruction Open de VB... elle est là pour celà et te permet de surcroit de travailler sur des chaines de craactères quer tu peux concaténer dans une boucle, pour tes fichiers...)
En d'autres termes : tu viens sur VB pour demander de l'aide qui, au bout du compte, concerne l'emploi abusif d'autre choise que VB...
FSO alourdit inutilement et tu as tort de t'écarter de VB...
Une autre fois : intéresse-toi de plus près à VB seul (pas de FSO) et à son instruction Open.
0
Rejoignez-nous