Lulu_bistify
XLDnaute Nouveau
Bonjour à tous !
Je me permets de faire appel à votre aide car je suis bloqué sur un petit programme que je dois réaliser en Visual Basic qui doit :
-Fouiller un dossier contenant des sous-dossiers contenants parfois des fichiers CSV
-Si fichiers CSV il y a, je dois prendre toutes les infos (elles sont sur la 1ère colonne)
-Et mettre toutes les infos dans 1 seul fichier CSV
Je débute en Visual Basic, j'ai récupéré le TP sur l'arborescence des fichiers sur le site du zéro en me disant:
- je scanne tout, je regarde à chaque fois qu'un fichier termine par ".csv", je sauvegarde dans un tableau puis après pour chaque entrée dans le tableau j'ouvre le lien je copie tout et je colle.
Malhereusement il ne fait pas ce que je demande, je me demandais pourquoi ? (j'ai pas encore fait la partie Excel, je voulais dans un premier temps afficher dans une textbox les différents fichiers CSV.)
Merci d'avance,
Lulu
	
	
	
	
	
		
	
		
			
		
		
	
				
			Je me permets de faire appel à votre aide car je suis bloqué sur un petit programme que je dois réaliser en Visual Basic qui doit :
-Fouiller un dossier contenant des sous-dossiers contenants parfois des fichiers CSV
-Si fichiers CSV il y a, je dois prendre toutes les infos (elles sont sur la 1ère colonne)
-Et mettre toutes les infos dans 1 seul fichier CSV
Je débute en Visual Basic, j'ai récupéré le TP sur l'arborescence des fichiers sur le site du zéro en me disant:
- je scanne tout, je regarde à chaque fois qu'un fichier termine par ".csv", je sauvegarde dans un tableau puis après pour chaque entrée dans le tableau j'ouvre le lien je copie tout et je colle.
Malhereusement il ne fait pas ce que je demande, je me demandais pourquoi ? (j'ai pas encore fait la partie Excel, je voulais dans un premier temps afficher dans une textbox les différents fichiers CSV.)
Merci d'avance,
Lulu
		Code:
	
	
	Imports System.IO
Public Class Form1
    Dim RepertoireALister As String
    Dim nombrecsv As Integer = 0
    Dim resultat As Integer = 0
    Dim listefichierscsv() As String
    Dim message, title, defaultValue As String
    Dim myValue As Object
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        message = "Veuillez entrer le chemin du dossier à traiter"
        title = "Dossier concerné"
        defaultValue = "1"
        myValue = InputBox(message, title, defaultValue)
        RepertoireALister = myValue
        'Définit le premier noeud
        Me.TV_ARBORESCENCE.TopNode = Me.TV_ARBORESCENCE.Nodes.Add(RepertoireALister, RepertoireALister)
        'Arborescence du premier noeud
        For Each Repertoire As String In Directory.GetDirectories(RepertoireALister)
            Me.TV_ARBORESCENCE.TopNode.Nodes.Add(Repertoire, Path.GetFileName(Repertoire))
            'Récursif
            ListeArborescenceDossier(Repertoire, Me.TV_ARBORESCENCE.TopNode)
        Next
        'Fichiers du premier noeud
        For Each Fichier As String In Directory.GetFiles(RepertoireALister)
            Me.TV_ARBORESCENCE.TopNode.Nodes.Add(Path.GetFileName(Fichier))
           
        Next
        Me.L_nombrecsv2.Text = nombrecsv.ToString
        For i As Integer = 0 To listefichierscsv.Length - 1
            TB_fichiersCSV.Text = listefichierscsv(i)
        Next
    End Sub
    Sub ListeArborescenceDossier(ByVal RepertoireActuel As String, ByVal NodeActuel As TreeNode)
        'Recupère le node dans lequel on est
        Dim Node As TreeNode = NodeActuel.Nodes(RepertoireActuel)
        'Répertoires de ce noeud
        For Each Repertoire As String In Directory.GetDirectories(RepertoireActuel)
            Node.Nodes.Add(Repertoire, Path.GetFileName(Repertoire))
            'Récursif
            ListeArborescenceDossier(Repertoire, Node)
        Next
        'Fichiers de ce noeud
        For Each Fichier As String In Directory.GetFiles(RepertoireActuel)
            Node.Nodes.Add(Path.GetFileName(Fichier))
            If resultat = InStr(Path.GetFileName(Fichier), ".CSV") = 0 Then
                ReDim listefichierscsv(nombrecsv)
                listefichierscsv(nombrecsv) = Path.GetFileName(Fichier).ToString
                nombrecsv = nombrecsv + 1
                resultat = 1
            End If
        Next
    End Sub