FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Importer des fichiers cvs dans un fichier excel
 

Importer des fichiers cvs dans un fichier excel

Il y a 306 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Importer des fichiers cvs dans un fichier excel
 
Plus d'informations

Bonjour,
 
Voici mon besoin : j’ai un  ensemble de fichier au format csv   qui va être descendus chaque mois dans un répertoire ( REPORT/ *.csv) je dois importer ces fichiers csv dans un fichier Excel Report.xls . Devant chaque ligne je rajoute la date du jour afin de faire un suivie.
Chaque mois il faute faire un import de ces fichiers *.csv dans le fichier report.xls ; il faut écraser les données identique en modifiant la date (date du jour d’import) et rajouter en fin fichier les nouveau élémnents    
 
Colonne A = date du jour
Colonne B =  adr IP     ( si identique écraser la ligne  si non rajout en fin de fichier)
Colonne C, D,E,F,G,H,I,J,K   = info
 
J’ai commencé à faire un premier script avec non de fichier un fichier .
 
Besoin :  faire une boucle pour importer en une fois l’ensemble des fichiers *.csv ds report.xls et mettre les données séparé par une « , » dans les bonne Colonnes
 
 
 
'Lire les enregistrements dans un fichier csv
 
Sub LireFichierTexte2()
 
Dim TextLine
Dim A, B, C, D, E, F, G, H, I, J As String
I = 0
Open "Y:\test\map\map1.csv" For Input As #1    ' Ouvre le fichier.
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
    Line Input #1, TextLine    ' Lit la ligne dans la variable.
    ' Si on se trouve sur les 3 premières lignes ne pas en tenir compte
    I = I + 1
    If I > 3 Then
    'faire le traitement
     
        'inscrire dans la feuille en cour la ligne en commencent a la ligne 2
        'Range("A65536" ).End(xlUp)(2) = TextLine
        'Left
        Range("A65536" ).End(xlUp)(2) = Date 'Inscrire la date
        k = InStr(1, TextLine, "," ) ' recherche le N° du 1er caractère ',' de la chaine
        Range("B65536" ).End(xlUp)(2) = Left(TextLine, k - 1) 'renvoi ce qui est a gauche (IP)
        Range("C65536" ).End(xlUp)(2) = Mid(TextLine, k + 2)  'renvoi le reste de la chaine
                   
    End If
Loop ' Effectue la boucle jusqu'à la fin du fichier.
Close #1    ' Ferme le fichier.
 
End Sub

zeb
Profil : Modérateur libre
Plus d'informations

Modo: Merci de lire le règlement et de le respecter.


---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » VB / VBA / VBS » Importer des fichiers cvs dans un fichier excel
 

Annonces Google
Publicité