Affichage d'un label lors de la copie de fichiers

Résolu
ThomasIsComingBack Messages postés 33 Date d'inscription lundi 19 juillet 2010 Statut Membre Dernière intervention 6 mars 2013 - 6 avril 2012 à 17:13
 Utilisateur anonyme - 6 avril 2012 à 17:29
Hello !
Déjà, désolé pour ce titre peu explicite. Voici mon problème : mon programme copie des fichiers d'un dossier à un autre, avec une ProgressBar (qui fonctionne) et deux labels, un indiquant le nom du fichier en cours de traitement et l'autre indiquant le numéro du fichier/le nombre total de fichiers. Cependant, lors de la copie, la ProgressBar avance, mais les textes des labels restent ceux désignés dans le concepteur de forms. Je vous montre mon code. Les labels ont la propriété "Visible" en TRUE.

Dim NombreFichiers
Dim FichierNumero
        NombreFichiers = ListeOrdinateur.SelectedItems.Count
        Avancement.Maximum = NombreFichiers
        Avancement.Value = 0 'Réinitialisation du Max
        For Each selecteditem In ListeOrdinateur.SelectedItems
            lblCopie.Text = "Copie de " & selecteditem & " en cours..." 'Label qui dit quel fichier est en cours de copie
            FichierNumero = FichierNumero + 1
            NumFichier.Text = FichierNumero & " / " & NombreFichiers 'Label qui donne le numéro du fichier traité
            Avancement.Value = Avancement.Value + 1 'Avancement dans la barre
            If My.Computer.FileSystem.FileExists(Lecteur & "\Musique" & selecteditem & ".mp3") = False Then
                My.Computer.FileSystem.CopyFile(RepMusique & "" & selecteditem & ".mp3", Lecteur & "\Musique" & selecteditem & ".mp3", False)
            End If
        Next
        lblCopie.Visible = False 'Cache les labels et la progressbar
        NumFichier.Visible = False
        Avancement.Visible = False
 
        NombreFichiers = 0 'Réinitialisation des différentes variables
        FichierNumero = 0
 
        GenererListe(ListeOrdinateur, RepMusique, "mp3") 'Regénère les listbox
        GenererListe(ListeTelephone, LecteurMusique, "mp3")


Merci d'avance

3 réponses

Utilisateur anonyme
6 avril 2012 à 17:19
Salut,

As-tu essayé :
     Dim NombreFichiers
        Dim FichierNumero
        NombreFichiers = ListeOrdinateur.SelectedItems.Count
        Avancement.Maximum = NombreFichiers
        Avancement.Value = 0 'Réinitialisation du Max
        For Each selecteditem In ListeOrdinateur.SelectedItems
            Application.DoEvents()
            lblCopie.Text = "Copie de " & selecteditem & " en cours..." 'Label qui dit quel fichier est en cours de copie
            FichierNumero = FichierNumero + 1
            NumFichier.Text = FichierNumero & " / " & NombreFichiers 'Label qui donne le numéro du fichier traité
            Avancement.Value = Avancement.Value + 1 'Avancement dans la barre
            If My.Computer.FileSystem.FileExists(Lecteur & "\Musique" & selecteditem & ".mp3") = False Then

                My.Computer.FileSystem.CopyFile(RepMusique & "" & selecteditem & ".mp3", Lecteur & "\Musique" & selecteditem & ".mp3", False)

            End If
        Next
        lblCopie.Visible = False 'Cache les labels et la progressbar
        NumFichier.Visible = False
        Avancement.Visible = False

        NombreFichiers = 0 'Réinitialisation des différentes variables
        FichierNumero = 0

        GenererListe(ListeOrdinateur, RepMusique, "mp3") 'Regénère les listbox
        GenererListe(ListeTelephone, LecteurMusique, "mp3")



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
3
ThomasIsComingBack Messages postés 33 Date d'inscription lundi 19 juillet 2010 Statut Membre Dernière intervention 6 mars 2013
6 avril 2012 à 17:21
You are a genius !
Merci !
0
Utilisateur anonyme
6 avril 2012 à 17:29
J'y suis pour rien du tout... c'est VB qui est comme ça!

Fout donc une croix sur "réponse acceptée" sur n'importe quel message, pour ne pas attarder les autres utilisateurs.


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Rejoignez-nous