Page 1 sur 1

[Résolu][Calc] Importer un fichier CSV

Publié : 26 sept. 2007 14:30
par Ceryal28
Bonjour à tous,

je cherche à importer un fichier csv dans un fichier calc ( je précise bien importer via une macro, et non "ouvrir" un fichier )
le but est de cliquer sur un bouton, que ca ouvre l'explorateur pour aller chercher le fichier à la main, et que ca l'importe dans la premiere feuille du classeur.

J'ai déja fait cette macro sous vba ( avec beaucoup de mal ) mais je n'arrive pas à l'adapter

Code : Tout sélectionner

Public Sub Ouvrir_csv()
Dim Fichier As Variant
    ChDir ThisWorkbook.Path
    Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
    If Fichier <> False Then Importer_fichier Fichier
End Sub

Public Sub Importer_fichier(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 Sep As String * 1
Dim Debut As Long, Fin As Long
 
    Sheets("Donnees").Select
    Sheets("Donnees").Unprotect
    Sheets("Donnees").Cells.Delete
    Debut = GetTickCount
 
    Sep = ";"
    Cells.Clear
    Application.ScreenUpdating = False
 
    Close
    NumFichier = FreeFile
 
    iRow = 0
    Open NomFichier For Input As #NumFichier
    Do While Not EOF(NumFichier)
        iCol = 1: iRow = iRow + 1
        Line Input #NumFichier, chaine
        Split Ar(), chaine, Sep
        For i = LBound(Ar) To UBound(Ar)
            Sheets("Donnees").Cells(iRow, iCol) = Ar(i)
            iCol = iCol + 1
        Next i
    Loop
    Close #NumFichier
 
    Fin = GetTickCount
    Application.StatusBar = Format((Fin - Debut) / 1000, "0.00")
    Application.ScreenUpdating = True
    Sheets("Donnees").Protect
End Sub
Mon probleme vient de plusieurs choses : quel équivalent pour

Code : Tout sélectionner

ChDir ThisWorkbook.Path
Fichier = Application.GetOpenFilename("Fichier CSV (*.csv), *.csv")
Le reste du code ne fonctionne pas non plus pourtant quand je regarde l'aide d'openoffice les fonctions sont sensiblement identiques.

Je ne m'en sors pas et j'aimerai bien un coup de main :)

Merci par avance.

Re: [Calc] Importer un fichier CSV via macro

Publié : 26 sept. 2007 14:38
par Elo
Ceryal28 a écrit :Le reste du code ne fonctionne pas non plus pourtant quand je regarde l'aide d'openoffice les fonctions sont sensiblement identiques.
Tcho,

Le VBA n'est pas compris par OOo et inversement. Cela ne peut donc pas fonctionner. Si tu veux les équivalents de fonction, il faut nous dire ce que fait la fonction en VBA

Publié : 26 sept. 2007 14:43
par Bidouille
Bonjour,

Ce forum est avant tout une base de connaissances. Avant de poser une question, vous devez d'abord effectuer une recherche afin de voir si votre problème n'a pas déjà une solution. Il vous suffit d'utiliser le lien "Rechercher" indiqué en haut de la page.

Dans votre cas, votre problème a déjà fait l'objet de sujets.

En recherchant sur les termes :
import* and csv
Vous obtenez :
ftopic899.html
setopic_2871-import.html%2A+csv
setopic_2672-import.html%2A+csv

A l'avenir, pensez à faire cette recherche vous-même. Vous gagnerez ainsi du temps puisque la réponse existe déjà.

Cordialement