Besoin d'aide pour EXCEL//VB - Divers - Programmation
Marsh Posté le 05-01-2005 à 20:15:23
Ou bien même si vous avez une autre solution en tête, je suis preneur
Marsh Posté le 05-01-2005 à 20:40:37
j'ai vu dans le VBA d'excel 2000 la fonction OpenTextFile qui permet de lire un fichier texte :
Code :
|
pour toutes les méthodes/propriété pour lire le fichier ouvert aller voir http://msdn.microsoft.com/library/ [...] stream.asp
Après tu n'as qu'à utiliser Split pour séparer les colonnes... ça permettra de faire les choses plus proprement surement
Marsh Posté le 05-01-2005 à 17:25:49
Bonjour à tous !
J’aurais besoin de vos lumières !
J’ai un petit TAF et je dois avouer que mes connaissances sont bien maigres dans le domaine de l’informatique.
Alors voilà ma plaie :
Je dois faire une petite application qui lit et traite des données présentent dans différents fichiers .txt (3 pour être précis) et le remet dans un autre fichier .txt
J’avais donc pensé au tout bête Excel complété par Visual Basic Editor.
Pour faire simple :
3 fichiers à importer sous Excel et à traiter. (fichier 1, fichier 2 et fichier 3)
1 fichier à exporter (fichier_fin)
Le problème n°1 :
Je n’arrive pas à importer le fichier 1 par code VB (oui oui je suis incompétent) , juste par macro, qui me met alors les données dans un autre projet, m’obligeant ensuite de faire une copie vers la feuille 1 puis de fermer le nouveau projet. Qui me met ensuite le message suivant :
Le Presse-papiers contient une grande quantité d’informations. Voulez-vous avoir la possibilité de coller ces informations dans une autre document ultérieurement ?
*Pour les enregistrer dans le Presse-papiers afin de pouvoir les coller ultérieurement, cliquer sur Oui.
*Pour les supprimer du Presse-papiers et libérer de la mémoire, cliquez sur Non.
Oui Non Annuler
Dans le fichier 1 il y a un nombre conséquent de ligne qui se présente chacune sous cette forme :
BCV0412024115207409030 0,0000 -2,0700 0,00001
Voici ce que donne la macro en VB :
Sub Macro3()
'
' Macro3 Macro
' Macro enregistrée le 05/01/05 par s011037
'
'
Workbooks.OpenText FileName:="C:\Rep\fichier1.txt", Origin _
:=xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array _
(0, 1), Array(26, 1), Array(37, 1), Array(56, 1))
Cells.Select
Selection.Copy
ActiveWindow.WindowState = xlNormal
Windows("Classeur4" ).Activate
Range("A1" ).Select
ActiveSheet.Paste
ActiveWindow.WindowState = xlMinimized
ActiveWindow.Close
ActiveWindow.WindowState = xlNormal
End Sub
Elle se trouve dans le répertoire « module » du projet.
Si quelqu’un donc pourrait me montrer comment faire le code VB ou bien une macro qui mette directement dans la feuille 1 du classeur, ça serait fort aimable.