VBA Excel: Ajout de données dans un fichier .csv

Fermé
Aurélia - 22 mars 2014 à 14:35
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 22 mars 2014 à 17:26
Bonjour,

Je dispose de fichiers au format .csv que j'ouvre avec Excel 2010 et qui s'affichent correctement, sans que les séparateurs n'apparaissent.
Tels qu'ils s'affichent dans Excel, j'aimerais, par une macro, pouvoir:
- insérer une colonne en D,
- l'intituler "Traitement" en D5,
- de D6 à la dernière ligne du tableau (nombre de lignes variable), coller la valeur contenue en B1.
Et ce, sans modifier l'extension du fichier (je parviens à le faire sur un fichier .xlsx mais pas sur un .csv); est-ce réalisable?

Je vous en remercie par avance!

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 mars 2014 à 15:37
Bonjour,

un exemple:

    'votre code ouverture
'
Fichier = ActiveWorkbook.Name
Windows(Fichier).Activate
'derniere cellule non vide colonne A
derlig = Range("A" & Rows.Count).End(xlUp).Row
'insere colonne D
Columns("D:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("D5").FormulaLocal = "Traitement"
'copie B1
Range("B1").Copy Range("D6:D" & derlig)
'sauvegarde csv
ActiveWorkbook.SaveAs Filename:="c:\DATA.csv", Local:=True
ActiveWorkbook.Close
0
Bonjour,

Merci pour le code. En l'exécutant, la partie "Fichier = " sur la ligne 3 ressort en erreur avec le message "variable non définie".
De plus, en le lisant, je m'aperçois que j'ai manqué de précision dans ma demande: j'aimerais en effet pouvoir lancer la macro sans avoir à ouvrir les fichiers .csv qui se situent dans le même répertoire. Le code s'exécutera donc sur un fichier "texte" qui, me semble-t-il, ne devrait pas reconnaître les références de cellules: "B1", Columns("D:D"); mais je peux me tromper...

Merci d'avance!
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 mars 2014 à 16:35
Re,

comme indique, "variable non définie" c'est que la variable fichier est non declaree

je m'aperçois que j'ai manqué de précision dans ma demande Oui

code s'exécutera donc sur un fichier "texte" Pas forcement, parce que la ce sera un peu capilotracte
0
Re,

Merci pour les réponses.
Comment dois-je déclarer la variable fichier?

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
22 mars 2014 à 17:11
Re,

Dim Fichier tout simplement !!!!!
0
Re,

Merci bcp!
Autre petite question: quelle modification apporter au code pour que le fichier reprenne son nom et son emplacement d'origine à l'enregistrement sans avoir à les préciser à chaque fois, et non "Data.csv"?

Merci encore
0