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 :

[VBA-E] Conversion CSV en XLS


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [VBA-E] Conversion CSV en XLS
    bonjour

    j ai développez une macro d un peu plus de 1000 pour la Société Générale

    j'ai besoin d'une aide sur le probleme suvant

    j'ai ma macro (mise en page.xls) qui lorsqu elle a tournée génère le fichier inventaire1.xls

    cette macro effectue des calculs grace aux fichiers AI.csv et AI2.csv
    pour cela g mis du code qui converti ces 2 fichiers en xls afin d afficher les resultats dans inventaire1.

    Maintenant j ai 2 autres fichiers:
    Gamme_PF.csv et Gamme_PF_v.csv

    je dois copier dans ces 2 fichiers les données allant de H1 à N5 et aller les coller à partir de la cellule AB26 du fichier INVENTAIRE1.XLS

    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
    'Workbooks.Open Filename:=chemin & "\Gamme_PF"
     
    'Workbooks(Gamme_PF).Sheets("Gamme_PF").Activate
     
        Windows("Gamme_PF.csv").Activate
        Range("H1:N5").Select
        Selection.Copy
     
     
     
    ' Workbooks(inventaire1).Sheets("valo").Activate
        Windows("inventaire1.xls").Activate
        Range("AB26").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
    'Workbooks.Open Filename = chemin & "\Gamme_PF_v"
     
    '
        Windows("Gamme_PF_v.csv").Activate
    'Workbooks(Gamme_PF_v).Sheets("Gamme_PF_v").Activate
        Range("H1:N5").Select
        Selection.Copy
     
        Windows("inventaire1.xls").Activate
    'Workbooks(inventaire1).Sheets("valo").Activate
        Range("AB35").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
    mais il me dit que l indice n appartient pas a la selection
    dois je utiliser Workbooks(inventaire1).Sheets("valo").Activate

    ou alors dois je d abord ouvrir les deux fichiers .csv, les convertir en xls et les enregistrer APRES modifications en .xls

    au quel cas savez vous comment faire ?

    merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Sur quelle ligne ton erreur ?
    Et comment ouvres-tu ton fichier ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    J'obtiens plutôt : "erreur définie par l'application" aux lignes range(...).select.

    Ajoute activesheet. avant range(....).select. Ça a réglé le problème pour moi.

    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
      Windows("Gamme_PF.csv").Activate
        Range("H1:N5").Select
        Selection.Copy
     
     
     
    ' Workbooks(inventaire1).Sheets("valo").Activate
        Windows("inventaire1.xls").Activate
        Activesheet.Range("AB26").Select    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
     
    'Workbooks.Open Filename = chemin & "\Gamme_PF_v"
     
    '
        Windows("Gamme_PF_v.csv").Activate
    'Workbooks(Gamme_PF_v).Sheets("Gamme_PF_v").Activate
        Activesheet.Range("H1:N5").Select
        Selection.Copy
     
        Windows("inventaire1.xls").Activate
    'Workbooks(inventaire1).Sheets("valo").Activate
        Range("AB35").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    j ai remanié le code
    celui ci marche

    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
    Dim chemin As String
    chemin = "C:\Documents and Settings\Bruno C\Mes documents\test"
     
    Dim inventaire1 As String
    inventaire1 = "inventaire1.xls" 
     
    Dim Gamme_PF As String
    Gamme_PF = "Gamme_PF.xls"
     
    Workbooks.Open Filename:=chemin & "\Gamme_PF.xls"
     
     
    Workbooks(Gamme_PF).Sheets("Gamme_PF").Activate
    Range("A1", Range("D1").End(xlDown)).Select
    Selection.Copy
     
    Workbooks(inventaire1).Sheets("Feuil1").Activate
    Range("A1").Select
    ActiveSheet.Paste
    Workbooks(Gamme_PF).Close
    mais ce code copie/colle parfaitement mais pr 2 fichiers .xls

    or Gamme_PF est un .csv

    il faudrait donc :

    1) ouvrir le fichier CSV
    2) le trier par colonne
    3)le sauvegarder en .XLS

    mais la je seche

    g des bouts de code mais ca marche pas

    exemple:
    1) définir fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Gamme_PF As String
    Gamme_PF = "Gamme_PF.csv"
     
    Workbooks.Open Filename:=chemin & "\Gamme_PF.csv"
    2) trier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
            True

    3) renommer en Gamme_PF.xls
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\Bruno C\Mes documents\test\Gamme_PF.xls", _
            FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
            ReadOnlyRecommended:=False, CreateBackup:=False

    mais ca marche pas

    des idees ? pourtant je suis pas loin d enfin la finir cette macroi de dingue

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2006
    Messages
    103
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Janvier 2006
    Messages : 103
    Points : 98
    Points
    98
    Par défaut
    normalement, t'as pas besoin de mettre writepassword pr sauvegarder ton fichier.
    Sinon, l'instruction est tt à fait correct.
    As-tu suffisamment d'espace dans ton espace local?

Discussions similaires

  1. Import Fichier : Conversion .csv en .xls ou .xlsx
    Par GWuigcos dans le forum Excel
    Réponses: 4
    Dernier message: 01/07/2014, 13h24
  2. Réponses: 1
    Dernier message: 13/07/2012, 16h04
  3. conversion .csv en .xls
    Par black cat747 dans le forum MATLAB
    Réponses: 3
    Dernier message: 17/05/2010, 15h52
  4. conversion d'un fichier csv en xls
    Par yandoka dans le forum Langage
    Réponses: 11
    Dernier message: 23/07/2007, 16h37
  5. Conversion .csv en .xls
    Par Isa31 dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2005, 13h04

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