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