Bonjour à tous,
Voici mon besoin :
J'ai un dossier, contenant des fichiers txt et des fichiers excel.
Je voudrai parcourir ce dossier et copié bout à bout (je ne sais pas si concaténer est le terme exact), tous les fichiers excel présent dans le dossier, dans un fichier excel récapitulatif.
J'entend par copié bout a bout, prendre le fichier n°1, le copié dans le fichier recap, prendre le fichier n°2 et le copié a la suite, et ainsi de suite.
J'ai donc créer a l'avance mon fichier récap excel a un emplacement précis :
J'arrive également à parcourir les fichiers de mon dossier, et à déterminer si ce sont des fichiers excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Dim fs As New FileStream(dossier_choisi & "\" & "recap" & ".xls", FileMode.Create, FileAccess.Write, FileShare.Write)
Mon problème : J'arriverai assez facilement a ouvrir les fichiers et a copié le contenu (et encore c'est pas gagné), mais là où je ne vois pas comment faire c'est comment lui expliquer où il doit copier le contenu (ou plutôt comment ré-ouvrir le fichier recap avec le curseur pour le collage positionné à la fin). Je vois comment le faire avec des fichiers textes avec la méthode file.append mais là pour des fichiers excel je sèche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim dir As New DirectoryInfo(dossier_choisi) For Each fichier In dir.GetFiles If fichier.Name.Contains(".xls") Then 'j'ouvre le fichier n°1 'je le copie dans le fichier recap 'je ferme le fichier n°1 'j'ouvre le fichier n°2 'je le copie à la fin du fichier recap 'etc.... End If Next
Information importante : mes fichiers excel n'ont aucune lignes vides, donc il devrait être possible de jouer avec les coordonnées de la première ligne vide, mais je ne vois pas du tout comment !
Merci d'avance!
Partager