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 destructuré


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut Conversion CSV destructuré
    Bonjour à tous

    J'ai un fichier CSV complètement déstructuré. La séparation entre chaque donnée est faite par un point. La conversion via la fonction "Convertir" d'Excel ne marche pas bien car les colonnes créés ne contiennent pas des données de la même nature. Merci de m'indiquer comment faire pour avoir chaque donnée dans une colonne

    Le fichier CSV actuelle
    Nom1 Prenom1 .date de naissance : 01/01/1974 .lieu de naissance : Paris
    Nom2 Prenom2 .lieu de naissance : 01/01/1957 .lieu de naissance : Marseille
    Nom3 Prenom3 .Titre : Titre1 .Lieu de naissance : 01/01/1992

    Résultat à obtenir dans chaque colonne
    Nom Prénom Titre date de naissance lieu de naissance

    Merci de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    qu'est-ce que tu attends exactement de nous ?

    Tu veux du code ? Une serie de manipulations ?

    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut Bonjour
    Je pense que le code serait mieux car c'est un travail à faire régulièrement sur le fichier.

    Merci par avance

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Dans ton fichier, lorsqu'il n'y a pas de titre, est-ce qu'il y a un point quand même ? Ça faciliterait la vie...
    Est-ce qu'il peut arriver qu'il n'y ait pas de nom ou prénom ou autre ?

    Est-ce que tu peux joindre un fichier avec quelques lignes si les données ne sont pas confidentielles ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    tu peux importer ton fichier en l'état dans Excel puis le retraiter!
    Code Programme principale! : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Test() 
    ClipBoard_SetData Replace(Replace(OuvrirFichierTXT("C:\MyRepertoire\PasScv.csv"), ".", vbTab), ":", vbTab)
    ActiveCell.PasteSpecial xlPasteAll 
    End Sub
    Code complet : 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
     #If VBA7 Then
    Declare PtrSafe Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
    Declare PtrSafe Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
    Declare PtrSafe Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
    Declare PtrSafe Function CloseClipboard Lib "User32" () As Long
    Declare PtrSafe Function OpenClipboard Lib "User32" (ByVal hwnd As Long) As Long
    Declare PtrSafe Function EmptyClipboard Lib "User32" () As Long
    Declare PtrSafe Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
    Declare PtrSafe Function SetClipboardData Lib "User32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
    #Else
     Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
    Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
    Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, ByVal dwBytes As Long) As Long
    Declare Function CloseClipboard Lib "User32" () As Long
    Declare Function OpenClipboard Lib "User32" (ByVal hwnd As Long) As Long
    Declare Function EmptyClipboard Lib "User32" () As Long
    Declare Function lstrcpy Lib "kernel32" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long
    Declare Function SetClipboardData Lib "User32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
    #End If
    Public Const GHND = &H42
    Public Const CF_TEXT = 1
    Public Const MAXSIZE = 4096
    Sub Test()
     ClipBoard_SetData Replace(Replace(OuvrirFichierTXT("C:\MyRepertoire\PasScv.csv"), ".", vbTab), ":", vbTab)
    ActiveCell.PasteSpecial xlPasteAll
    End Sub
    Public Function OuvrirFichierTXT(Fichier)
    Set oFs = CreateObject("Scripting.FileSystemObject")
    Set oFile = oFs.OpenTextFile(Fichier)
    OuvrirFichierTXT = oFile.ReadAll
    oFile.Close
    End Function

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juin 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Juin 2017
    Messages : 3
    Par défaut Bonjour
    Le fichier est confidentiel je ne peux malheureusement pas le diffuser. Les noms et prénoms sont toujours renseignés. Effectivement, la structure des informations n’est pas identique d’une ligne à une autre ; on peut avoir en effet des données manquantes (Ex :date de naissance, lieu de naissance..). Sur une même ligne, le point indique le début d’une nouvelle donnée.

    dysorthographie : je tenterai de copier le code et de tester.

    Merci à vous tous.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Excelou Voir le message
    dysorthographie : je tenterai de copier le code et de tester.
    je suis sur que tu vas y arriver!

Discussions similaires

  1. Conversion CSV en TStringGrid
    Par palaone dans le forum Langage
    Réponses: 6
    Dernier message: 03/03/2010, 20h00
  2. macro conversion .csv
    Par euskadi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/04/2008, 11h41
  3. [VBA-E] Conversion CSV en XLS
    Par crac_finance dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/03/2007, 10h18
  4. Conversion Csv -> Sql
    Par pekka77 dans le forum Requêtes
    Réponses: 1
    Dernier message: 14/11/2006, 15h57
  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