Bonjour à tous,
J'ai besoin d'aide pour écrire une macro qui me permettrai d'importer certaines colonnes d'un fichier csv ( toujours même format mais le nom change) vers un fichier Excel sous un format tableau Excel.
Je m'explique mon fichier source est un fichier csv extrait d'une appli chauqe fin de mois qui contient plus colonnes avec une entête spécifique. J'aimerai pouvoir importer les données de certaines colonnes ( 1 , 2 ,4, 9, 12,22,27,32,37) sur le fichier Excel dont les entêtes seront différentes de celles du fichier source.
J'ai trouvé cette macro qui me permet de récupérer toutes les données du fichier mais je voudrais l'adapter à ce qui m'est demandé c-a-d un tableau Excel capable de récupérer les colonnes que j'ai mentionné au dessus et qui va sauté une ligne pour calculer un Total sur la colonne 9 à chaque fois que la donnée de la colonne 1 change.
Je ne sais pas du tout si c'est clair ce que je raconte je m'en excuse mais mes connaissances en VBA sont très très limités j'ai vraiment besoin de votre aide: SOS terrienne en détresse
Je vous joins la macro + les fichiers csv et Excel pour que ce soit plus clair :S
merci infiniment d'avance pour votre aide.
Macro:
Option Explicit
Sub Csv()
Dim Fichier As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
If Fichier <> False Then
LireCSV Fichier
End If
End Sub
Private Sub LireCSV(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
Separateur = ";"
Cells.Clear
Application.ScreenUpdating = False
NumFichier = FreeFile
iRow = 0
Open NomFichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
iRow = iRow + 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Cells(iRow, iCol) = Ar(i)
iCol = iCol + 1
Next i
Loop
Close #NumFichier
Application.ScreenUpdating = True
End Sub
J'ai besoin d'aide pour écrire une macro qui me permettrai d'importer certaines colonnes d'un fichier csv ( toujours même format mais le nom change) vers un fichier Excel sous un format tableau Excel.
Je m'explique mon fichier source est un fichier csv extrait d'une appli chauqe fin de mois qui contient plus colonnes avec une entête spécifique. J'aimerai pouvoir importer les données de certaines colonnes ( 1 , 2 ,4, 9, 12,22,27,32,37) sur le fichier Excel dont les entêtes seront différentes de celles du fichier source.
J'ai trouvé cette macro qui me permet de récupérer toutes les données du fichier mais je voudrais l'adapter à ce qui m'est demandé c-a-d un tableau Excel capable de récupérer les colonnes que j'ai mentionné au dessus et qui va sauté une ligne pour calculer un Total sur la colonne 9 à chaque fois que la donnée de la colonne 1 change.
Je ne sais pas du tout si c'est clair ce que je raconte je m'en excuse mais mes connaissances en VBA sont très très limités j'ai vraiment besoin de votre aide: SOS terrienne en détresse
Je vous joins la macro + les fichiers csv et Excel pour que ce soit plus clair :S
merci infiniment d'avance pour votre aide.
Macro:
Option Explicit
Sub Csv()
Dim Fichier As Variant
ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
If Fichier <> False Then
LireCSV Fichier
End If
End Sub
Private Sub LireCSV(ByVal NomFichier As String)
Dim Chaine As String
Dim Ar() As String
Dim i As Long
Dim iRow As Long, iCol As Long
Dim NumFichier As Integer
Dim Separateur As String * 1
Separateur = ";"
Cells.Clear
Application.ScreenUpdating = False
NumFichier = FreeFile
iRow = 0
Open NomFichier For Input As #NumFichier
Do While Not EOF(NumFichier)
iCol = 1
iRow = iRow + 1
Line Input #NumFichier, Chaine
Ar = Split(Chaine, Separateur)
For i = LBound(Ar) To UBound(Ar)
Cells(iRow, iCol) = Ar(i)
iCol = iCol + 1
Next i
Loop
Close #NumFichier
Application.ScreenUpdating = True
End Sub