Bonjour à tous !
Comme d'habitude, j'ai un soucis.
Cette fois, j'ai un fichier csv, créé automatiquement par un logiciel, et j'aimerai l'importer par une macro dans un feuillet excel, et faire la mise en forme du tableau obtenu.
Avec le logiciel, je peux aussi obtenir un fichier txt, contenant ces mêmes informations. La macro fonctionne parfaitement avec le txt, mais le fichier csv pose problème.
Voici la partie du code chargée d'importer les lignes des fichiers, et de les ranger en colonnes.
Lorsque j'applique cela au csv, j'obtiens que la première ligne du document. En enlevant le TextToColumns, tout le document est copié dans une seule cellule .
La principale différence que je vois entre le csv et le txt est que le csv contient une ligne "sautée" au début, et trois à la fin. Les données (séparateurs, guillemets,...) sont identiques ensuite.
Quelqu'un a une idée pour m'aider?
Merci d'avance...
Comme d'habitude, j'ai un soucis.
Cette fois, j'ai un fichier csv, créé automatiquement par un logiciel, et j'aimerai l'importer par une macro dans un feuillet excel, et faire la mise en forme du tableau obtenu.
Avec le logiciel, je peux aussi obtenir un fichier txt, contenant ces mêmes informations. La macro fonctionne parfaitement avec le txt, mais le fichier csv pose problème.
Voici la partie du code chargée d'importer les lignes des fichiers, et de les ranger en colonnes.
Code:
'Ouverture et lecture du fichier à importer
Open Fichier For Input As #1
While Not EOF(1)
Line Input #1, a
'Copie des lignes dans excel
ActiveSheet.Cells(NumRow + i, NumCol).Value = a
i = i + 1
Wend
Close #1
'Conversion des données délimitées par une virgule
Set Plage = Range(Cells(NumRow, NumCol), Cells(NumRow + i, NumCol))
Plage.TextToColumns DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Comma:=True
La principale différence que je vois entre le csv et le txt est que le csv contient une ligne "sautée" au début, et trois à la fin. Les données (séparateurs, guillemets,...) sont identiques ensuite.
Quelqu'un a une idée pour m'aider?
Merci d'avance...