Importation de fichiers CSV dans Excel à l'aide d'une macro

Je souhaite développer une macro où dans ma feuille de calcul Excel je tape une date dans une cellule spécifique, et la macro entrera dans un dossier contenant des fichiers texte. Une base de données que vous pourriez dire. Je veux qu'il trouve le nom de fichier correspondant qui est écrit en tant que date, mettez les données à travers un délimiteur et collez dans les cellules directement ci-dessous où j'ai initialement mis la date.

Le dossier sera toujours au même endroit et les fichiers texte seront tous formatés DD_MM_YYYY. Et les cellules ci-dessous seront toujours vides

Quelques photos pour rendre ce que je demande plus facile à comprendre.

Résultat Entrée de données Étape 1Entrée de données Étape 2Entrée de données Étape 3

One Solution collect form web for “Importation de fichiers CSV dans Excel à l'aide d'une macro”

Ceci est plus simple que vous ne le pensez, car vous pouvez invoquer l'assistant d'importation de texte (ou plutôt, vous pouvez utiliser ses fonctionnalités) à partir d'une macro, il n'est pas nécessaire d'écrire un analyseur CSV ou quelque chose de fantastique comme celui-ci.

En fait, tout ce que j'ai fait avec la macro ci-dessous est d'utiliser la fonction d'enregistrement intégrée, puis de la modifier un peu pour répondre à vos besoins.

Utilisation de la macro:

  1. Sauvegardez votre fichier Excel actuel, dans le cas où quelque chose ne va pas.

  2. Modifiez la définition du folder dans la macro pour être le chemin contenant tous vos fichiers de données – assurez-vous d'inclure une barre oblique.

  3. Sélectionnez la cellule d'en-tête des colonnes, qui doit contenir le nom d'un de vos fichiers, y compris l'extension du fichier . Vous pouvez éditer ce champ après la chargement des données si vous souhaitez supprimer l'extension.

  4. Exécutez la macro.

actes

Cela prendra le nom du fichier à partir de la cellule actuelle, regarde dans le folder spécifié et ouvre le fichier spécifié dans la cellule. Ensuite, il l'importera comme CSV, exactement une cellule sous la cellule sélectionnée (lors du démarrage de la macro).

En tant que tel, il remplacera probablement les cellules sous la cellule sélectionnée lors de l'exécution de la macro – la prudence est conseillée.

Si le fichier n'est pas trouvé, ou une autre erreur se produit, cela échouera avec une boîte d'erreur VBA normale, pas de messages d'erreur amicaux.

Code Macro

Une partie de cela peut probablement être coupé – comme je l'ai dit, je l'ai obtenu à partir d'un enregistrement plutôt que d'apprendre à utiliser les utilisateurs QueryTables moi-même – mais cela ne nuira pas tel quel, et semble fonctionner de manière fiable.

 Sub LoadFromFile() Dim fileName As String, folder As String folder = "C:\Path\To\Your\Files\" fileName = ActiveCell.Value ActiveCell.Offset(1, 0).Range("A1").Select With ActiveSheet.QueryTables _ .Add(Connection:="TEXT;" & folder & fileName, Destination:=ActiveCell) .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .TextFilePromptOnRefresh = False .TextFilePlatform = 850 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFileSpaceDelimiter = False .TextFileColumnDataTypes = Array(1, 1, 1, 1) .TextFileTrailingMinusNumbers = True .Refresh BackgroundQuery:=False End With End Sub 
  • Comment puis-je alterner la couleur de fond de la grille dans Excel lorsque la valeur d'une seule colonne change?
  • Excel 2010 -Excel ne peut pas compléter cette tâche avec les ressources disponibles
  • Comment réorganiser la base de données Excel à partir d'une longue rangée, en 3 lignes courtes et répéter automatiquement le processus?
  • Comment résumer une gamme de cellules avec des valeurs N / A?
  • Excel: Modification et mise à jour d'une valeur future en fonction de l'occurrence passée et de la recherche dans une table
  • Excel 2010: formule pour la somme et la date de retour
  • Convertir la chaîne de texte au format date / heure
  • Une couleur de fond de la grille alternative dans Excel lorsque la valeur d'une seule colonne change?
  • Export Office table Excel à csv à l'aide d'une macro
  • Utilisation de MAX () dans Excel contre une liste de dates en utilisant plusieurs critères
  • Couleurs des cellules en fonction de la valeur
  • Soyons le génie de l'ordinateur et du réseau.