Je me lance tout juste dans la programmation en Visual Basic pour un projet pour le lycée.
J'ai une base de données en .txt qui contient plusieurs "champs" (genre : nom, prénom, identifiant, date de naissance...) le tout séparés par des virgules.
J'ai créé un programme qui s'occupe d'ouvrir le fichier dans Excel, ça ça fonctionne
Le problème, c'est qu'il me copie la ligne 1 dans A1, la ligne 2 dans A2...
Avez vous une méthode pour séparer les différents "champs" dans des cellules distinctes, depuis VB ?
Merci de ta réponse.
Le problème est que ce fichier texte m'est fourni et généré par une application tierce, et je ne peux pas y toucher...
Si tu as une méthode pour remplacer toutes les virgules par des point-virgule dans un .txt je prends aussi
List<string> toto = File.ReadAllLines("test.txt").ToList();
List<string> tutu = new List<string>();
foreach(string titi in toto)
{
tutu.Add(titi.Replace(',', ';'));
}
File.WriteAllLines("test.txt", tutu.ToArray());
Non c'est du C# mais tu peux le convertir en VB. (y a des convertisseurs sur internet et même dans le post-it)
Ah ok tu utilise interop pour ton fichier excel.
Mon code marche pour remplacer les , en ; .
Tu utilises Path.ChangeExtension pour changer l'extension et voila tu as un csv
Merci mais je me suis débrouillé autrement, j'ai carrément enregistré une macro sous VBA avec Excel de lancé et je l'ai adapté sur mon programme, ce qui donne :
je viens solliciter humblement votre aide. je souhaite obtenir un exemplaire de chaque feuille EXCEL d'un classeur au format .CSV, et je souhaite faire cette opération à l'aide d'une macro présente de le fichier EXCEL qui contient les feuilles que je souhaite enregistrées séparement. jai 3 feuilles et je souhaite que la macro créée donc 3 fichiers CSV, un par feuille. j'ai utiliser l'enregistreur de macro et apporté quelque modification a mon code:
Sub enregistrementcsvdonne() ' ' enregistrementcsvdonne Macro
chose étrange quand je n'utilise pas la macro et que j'enregistre à la main j'obtien le fichier que je souhaite mais avec la macro le résultat est pas le même.