Copier les données d'un fichier csv vers une feuille Excel

Bonjour a tous . je reviens vers vous pour m'aider à résoudre mon problème si c'est possible . je m'explique :

je voudrai ouvrir un fichier TEXTE avec une extension CSV délimité par des virgules et de copier certains champs vers des cellules spécifiques selon une structure donnée d'une feuille d'excel active. j'ai fait une simple macro elle s’exécute sans aucun problème mais rien ne passe

ci dessous mon code :

Option Explicit

Sub IMPORT_FICHE_CLIENT()
Dim csv As Variant
Dim ligne As String

  csv = ThisWorkbook.path & "\CSV TAILLE CHAMPS.csv"
    Open csv For Output As #1

        ligne = "#CLIENT;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B24") & ";" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B3") & ";" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B4") & ";" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B2") & ";4119696;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B5") & "; ;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B7") & ";" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B8") & ";;;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B11") & ";" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B12") & ";;;;;;;;;;;;;301;1;;;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B21") & ";MARIE(E);SEPA récurent;"
    Print #1, ligne
        ligne = "#CLIENTSTAT;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B10") & ";(21);;;;;;;;"
    Print #1, ligne
        ligne = "#ABO;001;(35);EN;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B28") & ";2;1;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B27") & ";1;2;5"
    Print #1, ligne
        ligne = "#ABOENTETE;(17);(13);301;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B31") & ";16;;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B26") & ";05042019;(15);(17);05042019;38.17;" & ThisWorkbook.Worksheets("FICHE_CLIENT").Range("B25") & ";10.89;0;PANGEE-07650;;;"
    Print #1, ligne
       ligne = "#ABOLIGNE;LOYM;0;;;0;1;12.42;0"
    Print #1, ligne
        ligne = "#ABOLIGNE;FRAIS_PLATEFORME;0;;;0;1;0.15;0"
    Print #1, ligne

Close #1
MsgBox ("Terminé !")
End Sub

bonjour

télécharge

https://www.youtube.com/watch?v=gwW2CDdvUUs

il est inclus dans les versions pllus récentes

ensuite menu Power Query Récupérer, navigue vers le csv

la magie opère

le csv est finalement affiché proprement dans une feille de ton Excel

tu peux donc lire et traiter les données à l'aide d'une autre feuille contenant des formules

amitiés

bonjour

télécharge

https://www.youtube.com/watch?v=gwW2CDdvUUs

il est inclus dans les versions pllus récentes

ensuite menu Power Query Récupérer, navigue vers le csv

la magie opère

le csv est finalement affiché proprement dans une feille de ton Excel

tu peux donc lire et traiter les données à l'aide d'une autre feuille contenant des formules

amitiés

Bonjour JMD. merci pour ta réactivité . ta proposition et bcp plus pratique merci infiniment .

mais pour le moment je préfère travailler sous vba vue que les utilisateurs ils sont pas bien former sur ce sujet ils veulent tout établir à l'aide d'un bouton et aussi je souhaite avoir la possibilité de modifier sur le fichier csv en même temps.

est ce que t'a une idée de comment je peux améliorer mon code pour faire cela ?

merci d'avance .

re

pour VBA je saurai pas t'aider

mais :

1/ je déconseille de modifier la table des données csv

2/ mettre à jour la requête Power Query se fait d'un clic sur "actualiser". C'est à la porté d'un enfant de 3 ans.

amitiés

re

pour VBA je saurai pas t'aider

mais :

1/ je déconseille de modifier la table des données csv

2/ mettre à jour la requête Power Query se fait d'un clic sur "actualiser". C'est à la porté d'un enfant de 3 ans.

amitiés

merci pour ces précisions .

à très bientôt

Rechercher des sujets similaires à "copier donnees fichier csv feuille"