yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005
-
2 févr. 2005 à 12:19
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005
-
4 févr. 2005 à 10:11
Bonjour
J'ai un problème avec excel. J'ai une liste de fichiers de la forme
nomdefichier-jour-mois-année.txt. Je dois récupérer des données sur une période que je demande à l'aide d'une boite de dialogue. J'ai 2 problemes
d'une part je ne sais pas la commandepour la converison des fichiers txt en feuilles de calcul( ils osnt bien fait il y a des séparateurs de type : ),
d'autre part je ne trouve pas comment faire une boucle sur les dates pour permettre d'automatiser l'aquisition de données.
La conversion automatique n'est pas tres importante, le plus importan c'est de pourvoir ajout a mon worbook les worksheet dont j'ai besoin pour la macro.
PtitGrumo
Messages postés205Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention28 novembre 20052 2 févr. 2005 à 13:18
Salut dan!
Pour répondre a ta question j'ai juste besoin d'un complément d'info!
1 - Si je comprend bien, Tu doit ouvrir le fichier txt et lire ligne par ligne si l'enregistrement est bien dans l'interval de date voulu et si oui l'ajouter dans ta feuille Excel a la suite des autre c'est bien ca?
2 - Représise moi ton séparateur c'est bien ( ou :?
PtitGrumo
Messages postés205Date d'inscriptionsamedi 22 janvier 2005StatutMembreDernière intervention28 novembre 20052 2 févr. 2005 à 14:14
Ok!
Pour la restriction sera tu le faire?
sinon pour ce que tu souhaite faire voici dans ton VBA excel quoi mettre!
Public Sub charger_fichier()
Dim num As Integer
Dim lign As Long
Dim tmp As String
lign = 1
num = FreeFile
Open cheminFichier For Append As #a
Do Until EOF(num)
Line Input #num, tmp
ActiveSheet.Cells(lign, 1) = tmp
lign = lign + 1
Loop
Range("A1:A5").Select
Selection.TextToColumns Range("A1"), xlDelimited, xlNone, False, False, False,_ False, False, True, ":", Array(1, 1)
Range("A1").Select
End Sub
Voila espérant que tu comprendra sinon n'hésite pas
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005 2 févr. 2005 à 13:41
Yo
Premierement le fichier est de type CRdu-13-12-1256.txt
Dedans il ya des données comme ça
jour: mois: années:total
12:2:1985:8541386541
j'aimerais donc avoir les premiers données de chaque lignes dans la première colonne.
Par ailleurs quand j'ouvre avec excel le fichier .txt et que je lui donne ne paramètre ": ",il le fait tout seul mais mon but est de le faire automatiquement.
le séparateur est ":" ( 2 points)
Par ailleurs je ne trouve pas comment faire la boucle sur les jours entre les dates de début et de fin pour l'aquisition.
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005 2 févr. 2005 à 14:41
yo merci monsieur
bon ça ne marche pas direct mais on va regarder un peu pourquoi.
Sinonpour le probleme de date, il asuffit d'aller bouffer pour qu au retour ça marche...
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005 2 févr. 2005 à 14:45
derniere question
qu'est ce que je dois mettre dasn cheminfichier un truc du style
cheminfichier= "c:\lacestcool"
ou plutot cheminfichier="c:\lacestcool\12012004.txt"
et freefile est un int mais ça ne devrait pas etre un string, comme le nom du fichier ou c'est une commande interne à Excel.
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005 2 févr. 2005 à 16:00
Ouais ça devrait marcher. Si j'ai bien compris :
Open "c:\mesdoc\1203258851.txt" For Append As #num
'bonlà on lui dit d'ouvrir le fichier
Do Until EOF(num) ' boucle tant que pas en fin de fichier
Line Input #num, tmp ' là on met dans tmp l a ligne tel qu'est est dasn le fichier txt
ActiveSheet.Cells(lign, 1) = tmp ' là on recopie la ligne dasn la cellule
lign = lign + 1 'onpasse à la ligne suivante
Loop
Range("A1:A5").Select ' pas clair . je pense que là on dit qu on va modifier les celleules de A1 à A5
Selection.TextToColumns Range("A1"), xlDelimited, xlNone, False, False, False,_ False, False, True, ":", Array(1, 1) 'lmà pas compris nonplus
Range("A1").Select ' là meme combat
End Sub
Qui plus est quand je le mets tel quel dans excel macro, il aime pas la ligne Selection.text.....
yanndan
Messages postés13Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention10 février 2005 2 févr. 2005 à 16:09
Ouais ça devrait marcher. Si j'ai bien compris :
Open "c:\mesdoc\1203258851.txt" For Append As #num
'bonlà on lui dit d'ouvrir le fichier
Do Until EOF(num) ' boucle tant que pas en fin de fichier
Line Input #num, tmp ' là on met dans tmp l a ligne tel qu'est est dasn le fichier txt
ActiveSheet.Cells(lign, 1) = tmp ' là on recopie la ligne dasn la cellule
lign = lign + 1 'onpasse à la ligne suivante
Loop
Range("A1:A5").Select ' pas clair . je pense que là on dit qu on va modifier les celleules de A1 à A5
Selection.TextToColumns Range("A1"), xlDelimited, xlNone, False, False, False,_ False, False, True, ":", Array(1, 1) 'lmà pas compris nonplus
Range("A1").Select ' là meme combat
End Sub
Qui plus est quand je le mets tel quel dans excel macro, il aime pas la ligne Selection.text.....
Par ailleurs, on ne devrait pas fermer le fichier à la fin ?