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 :

Export .csv Sélection et mise en forme des données


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Octobre 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1
    Par défaut Export .csv Sélection et mise en forme des données
    Bonjour,

    Voilà, j'extrais de mon logiciel commercial un fichier .csv contenant de nombreuses informations mais dont certaines me sont inutiles. Le logiciel ne me permet malheureusement pas d'extraire uniquement les données qui m'intéressent. J'illustre :

    Import du fichier .csv vers .xls :
    (colonnes) A B C D E F G

    Les données qui m'intéressent :
    (colonnes) B D E F
    (et même plutôt) F B D E

    Je ne suis pas informaticienne mais je peux essayer de comprendre si on m'explique Donc existe-t-il une macro qui puisse me permettre :
    - d'extraire certaines colonnes de mon fichier seulement?
    - de modifier l'ordre des colonnes exportées?
    - de créer puis conserver la mise en page de mon fichier récepteur?
    (couleur, format entête, mise en forme conditionnelle, ex : si(non) vide = jaune))

    Je vais devoir faire des mises à jour régulière de ce fichier avec un nouveau nombre de données à intégrer à chaque fois. L'avantage, c'est que je n'ai pas à toucher à ces informations, c'est du consultatif...

    J'espère avoir été claire dans mes explications

    Merci de vos conseils avisés.

    Julie

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour Julie et bien venue sur le Forum


    Mettre ton fichier dans un dossier

    Une piste

    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
    42
    43
    Option Explicit
    'Avec référence microsoft DAO 3.6 Object Library
     
                                Dim Donneestxt                      As DAO.Database
     
                                Dim Appli                           As Object
                                Dim Creation                        As Object
     
                                Dim Chemin                          As String
                                Dim NomFichier                      As String
                                Dim TexteRequete                    As String
                                Dim Requete                         As Recordset
    Sub test()
        Chemin = "C:\......\" ' a adapter
        NomFichier = "LenomDuFichier.csv" ' a adapter
     
    ' Création de la base
    ' ton dossier désigné par la variable Chemin devient la base
    ' et chaque fichier texte présent dans ton dossier devient une table
        Set Donneestxt = DAO.OpenDatabase(Chemin, False, False, "Text;Database=" & Chemin)
     
        Set Appli = CreateObject("Scripting.FileSystemObject")
    ' Création du schema.ini pour déclaration du séparateur et des entêtes colonne
    ' ce fichier est lut dés la création de ta base(Donneestxt) et va initialiser tes tables
        Set Creation = Appli.CreateTextFile(Chemin & "schema.ini", True)
        Creation.Write "[" & NomFichier & "]" & vbCrLf
        Creation.Write "Format=Delimited(;)" & vbCrLf
        Creation.Write "ColNameHeader = True"
        Creation.Close
    'Création du Sql
        TexteRequete = "SELECT F, B, D, E" & _
                            "FROM [" & NomFichier & "]" ' création du Sql
    ' éxécute la requête
        Set Requete = Donneestxt.OpenRecordset(TexteRequete, DAO.dbOpenSnapshot)
        ' renvoi du résultat de la requête
        Sheets("Feuil1").Range("A2").CopyFromRecordset Requete ' adapter pour le nom de la feuille
     
    ' On ferme et on déinstancie
        Creation.Close
        Set Creation = Nothing
        Requete.Close
        Set Requete = Nothing
    End Sub
    Pour déclarer la référence Microsoft DAO 3.6 Object Library

    Dans Visual Basic (Fait Alt - F11)
    Outil>Référence
    et Cherche et coche
    Microsoft DAO 3.6 Object Library

    Pour le cosmétique (mise en forme des données dans ta feuille), je te laisse faire

    Bon courage

Discussions similaires

  1. Mise en forme des données sous Excel
    Par mhamedbj dans le forum Cognos
    Réponses: 2
    Dernier message: 27/08/2011, 16h00
  2. [2008] Mise en forme des données
    Par Valochette dans le forum SSRS
    Réponses: 2
    Dernier message: 12/05/2011, 09h34
  3. [MySQL] probleme de mise en forme des données
    Par arakiri dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 01/06/2007, 11h01
  4. [MySQL] Mise en forme des données
    Par Silborn dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/12/2006, 18h00
  5. Réponses: 6
    Dernier message: 16/06/2006, 14h20

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