IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Conversion csv en excel


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut Conversion csv en excel
    Bonjour à tous !

    Je cherche un code permettant de convertir un fichier csv en excel, car je veux effectuer le traitement des données présentes dans le fichier.

    Lorsque j'ouvre le fichier avec excel, tout se passe bien.
    Mais dés lors que j'ouvre le fichier par macro, il est sous forme csv.
    J'ai essayer d'enregistrer une macro en faisant la manip, mais il faut obligatoirement le chemin du fichier que j'ouvre.
    Le problème est le fichier que j'ouvre ne sera pas au même endroit, donc pas le même chemin..

    Voila le code permettant d'ouvrir le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    Public leClasseur1 As Workbook
    Public leClasseur2 As Workbook
     
    Sub prtrt()
     
    Dim pathFichier1 As String, nomFichier1 As String, tmpStr1() As String
    Dim pathFichier2 As String, nomFichier2 As String, tmpStr2() As String
     
        'récupérer le fichier (path complet)
     
    Select Case MsgBox("Ouvrir fichier extraction du mois courant", vbOKCancel, "Extraction du mois")
    Case vbOK
     
        pathFichier1 = Application.GetOpenFilename
     
     
    If pathFichier1 <> "" Then
     
        'ouvrir le fichier
    Set leClasseur1 = Application.Workbooks.Open(pathFichier1)
     
        'si on veux récupérer le nom du fichier :
        tmpStr1 = Split(pathFichier1, "\")
        nomFichier1 = tmpStr1(UBound(tmpStr1))
     
    End If
     
    Case vbCancel
    Exit Sub
     
    End Select
     
    End Sub

    Quelqu'un aurait une idée..SVP

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    faudrait penser à effectuer une recherche sur le forum car ce sujet a été maintes fois traité !

  3. #3
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Août 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Août 2013
    Messages : 55
    Points : 54
    Points
    54
    Par défaut
    hello tous
    regardes à cette adresse pour l'adapter à ton cas, comme je l'ai fait
    macro-vba-save-as/

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    Bonjour

    j'ai trouvé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks.OpenText Filename:=nomFichier1, StartRow:=1, _
        DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter _
            :=True, Semicolon:=False, DecimalSeparator:=";"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Option Explicit
     
    Public leClasseur1 As Workbook
    Public leClasseur2 As Workbook
     
    Sub prtrt()
     
    Dim pathFichier1 As String, nomFichier1 As String, tmpStr1() As String
    Dim pathFichier2 As String, nomFichier2 As String, tmpStr2() As String
     
        'récupérer le fichier (path complet)
     
     
    Select Case MsgBox("Ouvrir fichier extraction du mois courant", vbOKCancel, "Extraction du mois")
    Case vbOK
     
        pathFichier1 = Application.GetOpenFilename
     
     
    If pathFichier1 <> "" Then
     
        'ouvrir le fichier
    Set leClasseur1 = Application.Workbooks.Open(pathFichier1)
     
        'si on veux récupérer le nom du fichier :
        tmpStr1 = Split(pathFichier1, "\")
        nomFichier1 = tmpStr1(UBound(tmpStr1))
     
     
    End If
     
     
    Case vbCancel
    Exit Sub
     
    End Select
    Workbooks.OpenText Filename:=nomFichier1, StartRow:=2, _
        DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter _
            :=False, Semicolon:=True, DecimalSeparator:=";"
     
    End Sub

    Mais il ne fonctionne pas sur mon fichier...

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 73
    Points : 60
    Points
    60
    Par défaut
    finalement voila mon code (qui fonctionne)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    Sub prtrt()
     
    Dim pathFichier1 As String, nomFichier1 As String, tmpStr1() As String
    Dim pathFichier2 As String, nomFichier2 As String, tmpStr2() As String
     
        'récupérer le fichier (path complet)
     
     
    Select Case MsgBox("Ouvrir fichier extraction du mois courant", vbOKCancel, "Extraction du mois")
    Case vbOK
     
        pathFichier1 = Application.GetOpenFilename
     
     
    If pathFichier1 <> "" Then
     
        'ouvrir le fichier
    Set leClasseur1 = Application.Workbooks.Open(pathFichier1)
     
        'si on veux récupérer le nom du fichier :
        tmpStr1 = Split(pathFichier1, "\")
        nomFichier1 = tmpStr1(UBound(tmpStr1))
     
     
    End If
     
     
    Case vbCancel
    Exit Sub
     
    End Select
    Dim derlig As Long
      derlig = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
      Range("$A$1:$A$" & derlig).Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
            True
     
    End Sub

    MERCI pour votre aide

    à bientot

    Tiviia

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Pour rappel, dans une version française d'Excel, lorqu'un fichier .csv s'ouvre bien manuellement (en fait un fichier délimité ;),
    il n'y a donc besoin que d'une seule ligne pour l'ouvrir et le convertir via la méthode Open associée
    à un objet Workbooks en définissant son argument Local:=True, rien qu'en lisant l'aide de cette méthode !

    Comme c'est du reste indiqué dans différents sujets traitant de .csv, information facilement à disposition via une recherche …

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Conversion d'un fichier csv dans excel 2010
    Par Yvette dans le forum Excel
    Réponses: 5
    Dernier message: 10/02/2014, 15h36
  2. Import CSV sous Excel, garder les 0 inutile
    Par ePoX dans le forum Excel
    Réponses: 4
    Dernier message: 26/01/2009, 16h25
  3. [CSV] Imports Excel CSV à reformater
    Par boteha dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 21h41
  4. Conversion .csv en .xls
    Par Isa31 dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2005, 13h04
  5. conversion de fichier Excel en csv ,
    Par bounette dans le forum Excel
    Réponses: 2
    Dernier message: 26/01/2005, 08h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo