Extraire les données d'un fichier CSV
Résolu
Anthelm
Messages postés
198
Date d'inscription
Statut
Membre
Dernière intervention
-
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'utilise un logiciel pour faire des devis que je peux convertir ensuite en commande: cela crée un fichier CSV.
Je souhaite pouvoir extraire certaines données d'une commande créée pour les remettre sur Excel.
J'ai terminé mon devis et créé ma commande, voici à quoi ressemble le fichier CSV, une grosse chaine de caractère pour chacun des éléments du devis:
126456|ReferenceAffaire|NomDuClient|NumDevis12356|04/12/2019|A|1|0||GammeAlu - Fenêtre coulissante 2 vantaux|1.000|||40CL|1628|F|6155.33|34566.00|... etc etc.
Le séparateur n'est pas ce à quoi je m'attendais, je pensais que ce serait un point virgule, mais c'est un : "|".
Bref, pour chaque menuiserie sur mon devis, j'ai une ligne contenant une chaine de caractère comme ça dans mon fichier CSV.
Admettons que cette chaine soit en cellule A1, je souhaiterais avoir une macro exécutable qui donne en A2 une "concaténation", désolé du terme, de certaines valeurs.
Je pense que j'aurais toujours le même nombre de séparateurs, donc on pourrait simplement imaginer:
"La 2eme, 3eme, et 5eme valeur", par exemple.
Ce qui donnerait en A2:
ReferenceAffaireNomDuClient04/12/2019
Evidement le résultat attendu n'est pas ça, mais avec cela je devrais pouvoir me débrouiller pour ajouter les espaces et mettre en page mon résultat.
Une piste?
Les valeurs dont j'aurais besoin seront toujours les mêmes (2eme 3eme et 5eme par exemple).
Le séparateur sera toujours le même.
Merci pour votre aide!
(A terme, je vais tenter d'extraire toute une commande pour remettre sur Excel chaque produit dans la colonne A, la quantité en colonne B, le prix en colonne C...)
J'utilise un logiciel pour faire des devis que je peux convertir ensuite en commande: cela crée un fichier CSV.
Je souhaite pouvoir extraire certaines données d'une commande créée pour les remettre sur Excel.
J'ai terminé mon devis et créé ma commande, voici à quoi ressemble le fichier CSV, une grosse chaine de caractère pour chacun des éléments du devis:
126456|ReferenceAffaire|NomDuClient|NumDevis12356|04/12/2019|A|1|0||GammeAlu - Fenêtre coulissante 2 vantaux|1.000|||40CL|1628|F|6155.33|34566.00|... etc etc.
Le séparateur n'est pas ce à quoi je m'attendais, je pensais que ce serait un point virgule, mais c'est un : "|".
Bref, pour chaque menuiserie sur mon devis, j'ai une ligne contenant une chaine de caractère comme ça dans mon fichier CSV.
Admettons que cette chaine soit en cellule A1, je souhaiterais avoir une macro exécutable qui donne en A2 une "concaténation", désolé du terme, de certaines valeurs.
Je pense que j'aurais toujours le même nombre de séparateurs, donc on pourrait simplement imaginer:
"La 2eme, 3eme, et 5eme valeur", par exemple.
Ce qui donnerait en A2:
ReferenceAffaireNomDuClient04/12/2019
Evidement le résultat attendu n'est pas ça, mais avec cela je devrais pouvoir me débrouiller pour ajouter les espaces et mettre en page mon résultat.
Une piste?
Les valeurs dont j'aurais besoin seront toujours les mêmes (2eme 3eme et 5eme par exemple).
Le séparateur sera toujours le même.
Merci pour votre aide!
(A terme, je vais tenter d'extraire toute une commande pour remettre sur Excel chaque produit dans la colonne A, la quantité en colonne B, le prix en colonne C...)
A voir également:
- Récupérer données csv vba
- Fuite données maif - Guide
- Recuperer message whatsapp supprimé - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Comment recuperer une video sur youtube - Guide
2 réponses
Bonjour,
Tu peux avec le bloc notes changer le | en ;
Mais si tu renommes le .csv en .txt et que tu l'ouvres avec excel, là il va te proposer de choisir le séparateur.
Cdlt
Tu peux avec le bloc notes changer le | en ;
Mais si tu renommes le .csv en .txt et que tu l'ouvres avec excel, là il va te proposer de choisir le séparateur.
Cdlt
Bonjour,
Faire Alt F11 pour accéder au module de la feuille concernée
mettre cette macro qui se déclenche au double clic sur A1 :
enregistrer classeur prenant en charge les macros
(A terme, je vais tenter d'extraire toute une commande pour remettre sur Excel chaque produit dans la colonne A, la quantité en colonne B, le prix en colonne C...)
cela on peut le faire directement, c'est facile
Faire Alt F11 pour accéder au module de la feuille concernée
mettre cette macro qui se déclenche au double clic sur A1 :
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect(Target, Range("A1")) Is Nothing Then Range("A2").Value = Split(Target.Value, "|")(1) Range("A2").Value = Range("A2").Value & " " & Split(Target.Value, "|")(2) Range("A2").Value = Range("A2").Value & " " & Split(Target.Value, "|")(4) End If End Sub
enregistrer classeur prenant en charge les macros
(A terme, je vais tenter d'extraire toute une commande pour remettre sur Excel chaque produit dans la colonne A, la quantité en colonne B, le prix en colonne C...)
cela on peut le faire directement, c'est facile