begin process at 2012 02 15 16:52:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Marre de ma ProgressBar!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Marre de ma ProgressBar!

mercredi 18 juin 2003 à 13:37:18 | Marre de ma ProgressBar!

Gendarmette

Voici mon code en gros:

n = 0
For i = 0 To MaxTableauSource1
For j = 0 To MaxTableauSource2
If Fichier1(i, 0) = Fichier2(j, 0) Then
FichierExiste = True
If Fichier1(i, 1) < Fichier2(j, 1) Then
n = n + 1
Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
FileCopy Source2, Destination2
Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
FileCopy Source1, Destination1
End If
End If
If Fichier1(i, 0) <> Fichier2(j, 0) Then
FichierExiste = False
End If
If FichierExiste = False Then
Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
FileCopy Source1, Destination1
End If
Next j

Next i
FichierExiste = False

For i = 0 To MaxTableauSource2
For j = 0 To MaxTableauSource1
If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
Next j
If Not FichierExiste Then
Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
FileCopy Source1, Destination1
End If
Next i


J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
Est-ce que qqn peut m'aider?
Merci!

Gendarmette
mercredi 18 juin 2003 à 14:16:57 | Re : Marre de ma ProgressBar!

Boboss99

progressbar c pas bien compliqué
t'as la propriété MIN MAX et VALUE en gros
ex:

p.min = 0
p.max = 100
p.value=0
for i = 0 to 100
p.value = p.value + i ' la progress bar s'incrémente
next

voila il reste juste a l'adapter a ton prog
bon courage @+ ;o)
-------------------------------
Réponse au message :
-------------------------------

> Voici mon code en gros:
>

> n = 0
> For i = 0 To MaxTableauSource1
> For j = 0 To MaxTableauSource2
> If Fichier1(i, 0) = Fichier2(j, 0) Then
> FichierExiste = True
> If Fichier1(i, 1) < Fichier2(j, 1) Then
> n = n + 1
> Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> FileCopy Source2, Destination2
> Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> FileCopy Source1, Destination1
> End If
> End If
> If Fichier1(i, 0) <> Fichier2(j, 0) Then
> FichierExiste = False
> End If
> If FichierExiste = False Then
> Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> FileCopy Source1, Destination1
> End If
> Next j
>
> Next i
> FichierExiste = False
>
> For i = 0 To MaxTableauSource2
> For j = 0 To MaxTableauSource1
> If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> Next j
> If Not FichierExiste Then
> Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> FileCopy Source1, Destination1
> End If
> Next i
>

>
> J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> Est-ce que qqn peut m'aider?
> Merci!
>
> Gendarmette
mercredi 18 juin 2003 à 14:45:05 | Re : Marre de ma ProgressBar!

Gendarmette

Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)

Gendarmette


-------------------------------
Réponse au message :
-------------------------------

> progressbar c pas bien compliqué
> t'as la propriété MIN MAX et VALUE en gros
> ex:
>

> p.min = 0
> p.max = 100
> p.value=0
> for i = 0 to 100
> p.value = p.value + i ' la progress bar s'incrémente
> next
>

> voila il reste juste a l'adapter a ton prog
> bon courage @+ ;o)
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Voici mon code en gros:
> >

> > n = 0
> > For i = 0 To MaxTableauSource1
> > For j = 0 To MaxTableauSource2
> > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > FichierExiste = True
> > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > n = n + 1
> > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > FileCopy Source2, Destination2
> > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > FileCopy Source1, Destination1
> > End If
> > End If
> > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > FichierExiste = False
> > End If
> > If FichierExiste = False Then
> > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > FileCopy Source1, Destination1
> > End If
> > Next j
> >
> > Next i
> > FichierExiste = False
> >
> > For i = 0 To MaxTableauSource2
> > For j = 0 To MaxTableauSource1
> > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > Next j
> > If Not FichierExiste Then
> > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > FileCopy Source1, Destination1
> > End If
> > Next i
> >

> >
> > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > Est-ce que qqn peut m'aider?
> > Merci!
> >
> > Gendarmette
>
mercredi 18 juin 2003 à 23:58:02 | Re : Marre de ma ProgressBar!

Delbeke

Deux choix possibles
Afficher une progregression a chaque fichier copié (+1 )
Afficher une progression de la quantité d'octets copiés
dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy

Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
Note : la taille peut se calculer avec FileLen(Fichier)
Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.

Reste un autre solution à la quelle je viens de penser.
Réécrire un FileCopy .
C'est pas aussi dificile que cà.
auquel cas on pourrait afficher une progression pour chaque fichier.


Si cà vous interresse , je peux plancher la dessus.

Jean-Luc


-------------------------------
Réponse au message :
-------------------------------

> Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
>
> Gendarmette
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > progressbar c pas bien compliqué
> > t'as la propriété MIN MAX et VALUE en gros
> > ex:
> >

> > p.min = 0
> > p.max = 100
> > p.value=0
> > for i = 0 to 100
> > p.value = p.value + i ' la progress bar s'incrémente
> > next
> >

> > voila il reste juste a l'adapter a ton prog
> > bon courage @+ ;o)
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Voici mon code en gros:
> > >

> > > n = 0
> > > For i = 0 To MaxTableauSource1
> > > For j = 0 To MaxTableauSource2
> > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > FichierExiste = True
> > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > n = n + 1
> > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > FileCopy Source2, Destination2
> > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > FileCopy Source1, Destination1
> > > End If
> > > End If
> > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > FichierExiste = False
> > > End If
> > > If FichierExiste = False Then
> > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > FileCopy Source1, Destination1
> > > End If
> > > Next j
> > >
> > > Next i
> > > FichierExiste = False
> > >
> > > For i = 0 To MaxTableauSource2
> > > For j = 0 To MaxTableauSource1
> > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > Next j
> > > If Not FichierExiste Then
> > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > FileCopy Source1, Destination1
> > > End If
> > > Next i
> > >

> > >
> > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > Est-ce que qqn peut m'aider?
> > > Merci!
> > >
> > > Gendarmette
> >
>
jeudi 19 juin 2003 à 09:36:00 | Re : Marre de ma ProgressBar!

Gendarmette

J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :


For n = 0 To Ubound1
If Fichier1(n, 0) = "" Then
Ubound1 = n - 1
End If
Next n

MaxTableauSource1 = Ubound1


Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.

Gendarmette


-------------------------------
Réponse au message :
-------------------------------

> Deux choix possibles
> Afficher une progregression a chaque fichier copié (+1 )
> Afficher une progression de la quantité d'octets copiés
> dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
>
> Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> Note : la taille peut se calculer avec FileLen(Fichier)
> Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
>
> Reste un autre solution à la quelle je viens de penser.
> Réécrire un FileCopy .
> C'est pas aussi dificile que cà.
> auquel cas on pourrait afficher une progression pour chaque fichier.
>
>
> Si cà vous interresse , je peux plancher la dessus.
>
> Jean-Luc
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> >
> > Gendarmette
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > progressbar c pas bien compliqué
> > > t'as la propriété MIN MAX et VALUE en gros
> > > ex:
> > >

> > > p.min = 0
> > > p.max = 100
> > > p.value=0
> > > for i = 0 to 100
> > > p.value = p.value + i ' la progress bar s'incrémente
> > > next
> > >

> > > voila il reste juste a l'adapter a ton prog
> > > bon courage @+ ;o)
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Voici mon code en gros:
> > > >

> > > > n = 0
> > > > For i = 0 To MaxTableauSource1
> > > > For j = 0 To MaxTableauSource2
> > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > FichierExiste = True
> > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > n = n + 1
> > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > FileCopy Source2, Destination2
> > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > FileCopy Source1, Destination1
> > > > End If
> > > > End If
> > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > FichierExiste = False
> > > > End If
> > > > If FichierExiste = False Then
> > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > FileCopy Source1, Destination1
> > > > End If
> > > > Next j
> > > >
> > > > Next i
> > > > FichierExiste = False
> > > >
> > > > For i = 0 To MaxTableauSource2
> > > > For j = 0 To MaxTableauSource1
> > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > Next j
> > > > If Not FichierExiste Then
> > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > FileCopy Source1, Destination1
> > > > End If
> > > > Next i
> > > >

> > > >
> > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > Est-ce que qqn peut m'aider?
> > > > Merci!
> > > >
> > > > Gendarmette
> > >
> >
>
jeudi 19 juin 2003 à 10:47:46 | Re : Marre de ma ProgressBar!

Delbeke

Il n'est pas permis de modifier la valeur max dans la boucle
for x=0 to max
'max ne peut être changé ici
next

je vous propse de modifier votre code en ceci
Dim NbFiles as Integer
NbFiles=0
For n = 0 To Ubound1
If Fichier1(n, 0) <> "" Then
nbfiles=nbfiles+1
End If
Next n


Jean-Luc


Jean-Luc


-------------------------------
Réponse au message :
-------------------------------

> J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :
>
>

> For n = 0 To Ubound1
> If Fichier1(n, 0) = "" Then
> Ubound1 = n - 1
> End If
> Next n
>
> MaxTableauSource1 = Ubound1
>

>
> Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.
>
> Gendarmette
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Deux choix possibles
> > Afficher une progregression a chaque fichier copié (+1 )
> > Afficher une progression de la quantité d'octets copiés
> > dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
> >
> > Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> > Note : la taille peut se calculer avec FileLen(Fichier)
> > Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
> >
> > Reste un autre solution à la quelle je viens de penser.
> > Réécrire un FileCopy .
> > C'est pas aussi dificile que cà.
> > auquel cas on pourrait afficher une progression pour chaque fichier.
> >
> >
> > Si cà vous interresse , je peux plancher la dessus.
> >
> > Jean-Luc
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> > >
> > > Gendarmette
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > progressbar c pas bien compliqué
> > > > t'as la propriété MIN MAX et VALUE en gros
> > > > ex:
> > > >

> > > > p.min = 0
> > > > p.max = 100
> > > > p.value=0
> > > > for i = 0 to 100
> > > > p.value = p.value + i ' la progress bar s'incrémente
> > > > next
> > > >

> > > > voila il reste juste a l'adapter a ton prog
> > > > bon courage @+ ;o)
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Voici mon code en gros:
> > > > >

> > > > > n = 0
> > > > > For i = 0 To MaxTableauSource1
> > > > > For j = 0 To MaxTableauSource2
> > > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > > FichierExiste = True
> > > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > > n = n + 1
> > > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > > FileCopy Source2, Destination2
> > > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > FileCopy Source1, Destination1
> > > > > End If
> > > > > End If
> > > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > > FichierExiste = False
> > > > > End If
> > > > > If FichierExiste = False Then
> > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > FileCopy Source1, Destination1
> > > > > End If
> > > > > Next j
> > > > >
> > > > > Next i
> > > > > FichierExiste = False
> > > > >
> > > > > For i = 0 To MaxTableauSource2
> > > > > For j = 0 To MaxTableauSource1
> > > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > > Next j
> > > > > If Not FichierExiste Then
> > > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > > FileCopy Source1, Destination1
> > > > > End If
> > > > > Next i
> > > > >

> > > > >
> > > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > > Est-ce que qqn peut m'aider?
> > > > > Merci!
> > > > >
> > > > > Gendarmette
> > > >
> > >
> >
>
jeudi 19 juin 2003 à 13:26:52 | Re : Marre de ma ProgressBar!

Gendarmette

Je n'y arrive toujours pas.
J'ai une erreur lors de l'incrementation de la ProgressBar et je ne sais pas comment determiner sa valeur maximale.

Gendarmette


-------------------------------
Réponse au message :
-------------------------------

> Il n'est pas permis de modifier la valeur max dans la boucle
> for x=0 to max
> 'max ne peut être changé ici
> next
>
> je vous propse de modifier votre code en ceci
> Dim NbFiles as Integer
> NbFiles=0
> For n = 0 To Ubound1
> If Fichier1(n, 0) <> "" Then
> nbfiles=nbfiles+1
> End If
> Next n
>
>
> Jean-Luc
>
>
> Jean-Luc
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :
> >
> >

> > For n = 0 To Ubound1
> > If Fichier1(n, 0) = "" Then
> > Ubound1 = n - 1
> > End If
> > Next n
> >
> > MaxTableauSource1 = Ubound1
> >

> >
> > Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.
> >
> > Gendarmette
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Deux choix possibles
> > > Afficher une progregression a chaque fichier copié (+1 )
> > > Afficher une progression de la quantité d'octets copiés
> > > dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
> > >
> > > Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> > > Note : la taille peut se calculer avec FileLen(Fichier)
> > > Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
> > >
> > > Reste un autre solution à la quelle je viens de penser.
> > > Réécrire un FileCopy .
> > > C'est pas aussi dificile que cà.
> > > auquel cas on pourrait afficher une progression pour chaque fichier.
> > >
> > >
> > > Si cà vous interresse , je peux plancher la dessus.
> > >
> > > Jean-Luc
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> > > >
> > > > Gendarmette
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > progressbar c pas bien compliqué
> > > > > t'as la propriété MIN MAX et VALUE en gros
> > > > > ex:
> > > > >

> > > > > p.min = 0
> > > > > p.max = 100
> > > > > p.value=0
> > > > > for i = 0 to 100
> > > > > p.value = p.value + i ' la progress bar s'incrémente
> > > > > next
> > > > >

> > > > > voila il reste juste a l'adapter a ton prog
> > > > > bon courage @+ ;o)
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Voici mon code en gros:
> > > > > >

> > > > > > n = 0
> > > > > > For i = 0 To MaxTableauSource1
> > > > > > For j = 0 To MaxTableauSource2
> > > > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > > > FichierExiste = True
> > > > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > > > n = n + 1
> > > > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > > > FileCopy Source2, Destination2
> > > > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > FileCopy Source1, Destination1
> > > > > > End If
> > > > > > End If
> > > > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > > > FichierExiste = False
> > > > > > End If
> > > > > > If FichierExiste = False Then
> > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > FileCopy Source1, Destination1
> > > > > > End If
> > > > > > Next j
> > > > > >
> > > > > > Next i
> > > > > > FichierExiste = False
> > > > > >
> > > > > > For i = 0 To MaxTableauSource2
> > > > > > For j = 0 To MaxTableauSource1
> > > > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > > > Next j
> > > > > > If Not FichierExiste Then
> > > > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > > > FileCopy Source1, Destination1
> > > > > > End If
> > > > > > Next i
> > > > > >

> > > > > >
> > > > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > > > Est-ce que qqn peut m'aider?
> > > > > > Merci!
> > > > > >
> > > > > > Gendarmette
> > > > >
> > > >
> > >
> >
>
jeudi 19 juin 2003 à 13:31:27 | Re : Marre de ma ProgressBar!

Delbeke

C' est probablement que la valeur du progressbar dépasse la valeur MAX

On peut toujours limiter la casse en faisant

If PgBar.value+1<=PgBar.Max then
PgBar.Value=PgBar.value+1
end if

Jean-Luc


-------------------------------
Réponse au message :
-------------------------------

> Je n'y arrive toujours pas.
> J'ai une erreur lors de l'incrementation de la ProgressBar et je ne sais pas comment determiner sa valeur maximale.
>
> Gendarmette
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Il n'est pas permis de modifier la valeur max dans la boucle
> > for x=0 to max
> > 'max ne peut être changé ici
> > next
> >
> > je vous propse de modifier votre code en ceci
> > Dim NbFiles as Integer
> > NbFiles=0
> > For n = 0 To Ubound1
> > If Fichier1(n, 0) <> "" Then
> > nbfiles=nbfiles+1
> > End If
> > Next n
> >
> >
> > Jean-Luc
> >
> >
> > Jean-Luc
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :
> > >
> > >

> > > For n = 0 To Ubound1
> > > If Fichier1(n, 0) = "" Then
> > > Ubound1 = n - 1
> > > End If
> > > Next n
> > >
> > > MaxTableauSource1 = Ubound1
> > >

> > >
> > > Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.
> > >
> > > Gendarmette
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Deux choix possibles
> > > > Afficher une progregression a chaque fichier copié (+1 )
> > > > Afficher une progression de la quantité d'octets copiés
> > > > dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
> > > >
> > > > Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> > > > Note : la taille peut se calculer avec FileLen(Fichier)
> > > > Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
> > > >
> > > > Reste un autre solution à la quelle je viens de penser.
> > > > Réécrire un FileCopy .
> > > > C'est pas aussi dificile que cà.
> > > > auquel cas on pourrait afficher une progression pour chaque fichier.
> > > >
> > > >
> > > > Si cà vous interresse , je peux plancher la dessus.
> > > >
> > > > Jean-Luc
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> > > > >
> > > > > Gendarmette
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > progressbar c pas bien compliqué
> > > > > > t'as la propriété MIN MAX et VALUE en gros
> > > > > > ex:
> > > > > >

> > > > > > p.min = 0
> > > > > > p.max = 100
> > > > > > p.value=0
> > > > > > for i = 0 to 100
> > > > > > p.value = p.value + i ' la progress bar s'incrémente
> > > > > > next
> > > > > >

> > > > > > voila il reste juste a l'adapter a ton prog
> > > > > > bon courage @+ ;o)
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Voici mon code en gros:
> > > > > > >

> > > > > > > n = 0
> > > > > > > For i = 0 To MaxTableauSource1
> > > > > > > For j = 0 To MaxTableauSource2
> > > > > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > > > > FichierExiste = True
> > > > > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > > > > n = n + 1
> > > > > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > > > > FileCopy Source2, Destination2
> > > > > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > FileCopy Source1, Destination1
> > > > > > > End If
> > > > > > > End If
> > > > > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > > > > FichierExiste = False
> > > > > > > End If
> > > > > > > If FichierExiste = False Then
> > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > FileCopy Source1, Destination1
> > > > > > > End If
> > > > > > > Next j
> > > > > > >
> > > > > > > Next i
> > > > > > > FichierExiste = False
> > > > > > >
> > > > > > > For i = 0 To MaxTableauSource2
> > > > > > > For j = 0 To MaxTableauSource1
> > > > > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > > > > Next j
> > > > > > > If Not FichierExiste Then
> > > > > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > > > > FileCopy Source1, Destination1
> > > > > > > End If
> > > > > > > Next i
> > > > > > >

> > > > > > >
> > > > > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > > > > Est-ce que qqn peut m'aider?
> > > > > > > Merci!
> > > > > > >
> > > > > > > Gendarmette
> > > > > >
> > > > >
> > > >
> > >
> >
>
jeudi 19 juin 2003 à 14:38:52 | Re : Marre de ma ProgressBar!

Gendarmette

J'ai essayé d'intégrer vos morceaux de code mais sans succès.

Voici l'ensemble de mon programme. Si vous en trouvez le temps (et surtout le courage), indiquez moi l'endroit exact des modifications à effectuer.

Ce n'est pas urgent et je comprendrais que vous ayez autre chose à faire !

En tout cas merci pour l'aide que vous m'avez déjà apporté.



Dim Ubound1, Ubound2 As Integer

For n = 0 To Ubound1
If Fichier1(n, 0) = "" Then
Ubound1 = n - 1
End If
Next n

For n = 0 To Ubound2
If Fichier2(n, 0) = "" Then
Ubound2 = n - 1
End If
Next n

MaxTableauSource1 = Ubound1
MaxTableauSource2 = Ubound2

***LA PROGRESSBAR COMMENCE ICI***

n = 0
For i = 0 To MaxTableauSource1
For j = 0 To MaxTableauSource2
If Fichier1(i, 0) = Fichier2(j, 0) Then
FichierExiste = True
If Fichier1(i, 1) < Fichier2(j, 1) Then
n = n + 1
Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
FileCopy Source2, Destination2
Else
n = n + 1
Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
FileCopy Source1, Destination1
End If
End If
If Fichier1(i, 0) <> Fichier2(j, 0) Then
FichierExiste = False
End If
If FichierExiste = False Then
Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
FileCopy Source1, Destination1
End If
Next j
Next i
FichierExiste = False

For i = 0 To MaxTableauSource2
For j = 0 To MaxTableauSource1
If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
Next j
If Not FichierExiste Then
Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
FileCopy Source1, Destination1
End If
Next I

***ET SE TERMINE LA***

For n = 0 To 100
Flex.AddItem Fichier3(n, 0) & vbTab & Fichier3(n, 1)
Next

Dim sRepertoire As String
sRepertoire = "D:\Christine\Rapport\"

Set fso = CreateObject("Scripting.FileSystemObject")
Set Repertoire = fso.GetFolder(sRepertoire)

Flex.Row = 0
Flex.Col = 0
Flex.Text = "Nom du fichier"
Flex.Row = 0
Flex.Col = 1
Flex.Text = "Dernière modification"
Flex.ColWidth(0) = 2100
Flex.ColWidth(1) = 1700

For Each Fichier In Repertoire.Files
Debug.Print Fichier.Name & " " & Fichier.DateLastModified
Flex.TextMatrix(Flex.Rows - 1, 0) = Fichier.Name
Flex.TextMatrix(Flex.Rows - 1, 1) = Fichier.DateLastModified
Flex.Rows = Flex.Rows + 1
Fichier.Copy "D:\Christine\Rep1\"
Fichier.Copy "D:\Christine\Rep2\"
Next

End Sub

Gendarmette


-------------------------------
Réponse au message :
-------------------------------

> C' est probablement que la valeur du progressbar dépasse la valeur MAX
>
> On peut toujours limiter la casse en faisant
>
> If PgBar.value+1<=PgBar.Max then
> PgBar.Value=PgBar.value+1
> end if
>
> Jean-Luc
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Je n'y arrive toujours pas.
> > J'ai une erreur lors de l'incrementation de la ProgressBar et je ne sais pas comment determiner sa valeur maximale.
> >
> > Gendarmette
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Il n'est pas permis de modifier la valeur max dans la boucle
> > > for x=0 to max
> > > 'max ne peut être changé ici
> > > next
> > >
> > > je vous propse de modifier votre code en ceci
> > > Dim NbFiles as Integer
> > > NbFiles=0
> > > For n = 0 To Ubound1
> > > If Fichier1(n, 0) <> "" Then
> > > nbfiles=nbfiles+1
> > > End If
> > > Next n
> > >
> > >
> > > Jean-Luc
> > >
> > >
> > > Jean-Luc
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :
> > > >
> > > >

> > > > For n = 0 To Ubound1
> > > > If Fichier1(n, 0) = "" Then
> > > > Ubound1 = n - 1
> > > > End If
> > > > Next n
> > > >
> > > > MaxTableauSource1 = Ubound1
> > > >

> > > >
> > > > Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.
> > > >
> > > > Gendarmette
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Deux choix possibles
> > > > > Afficher une progregression a chaque fichier copié (+1 )
> > > > > Afficher une progression de la quantité d'octets copiés
> > > > > dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
> > > > >
> > > > > Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> > > > > Note : la taille peut se calculer avec FileLen(Fichier)
> > > > > Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
> > > > >
> > > > > Reste un autre solution à la quelle je viens de penser.
> > > > > Réécrire un FileCopy .
> > > > > C'est pas aussi dificile que cà.
> > > > > auquel cas on pourrait afficher une progression pour chaque fichier.
> > > > >
> > > > >
> > > > > Si cà vous interresse , je peux plancher la dessus.
> > > > >
> > > > > Jean-Luc
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> > > > > >
> > > > > > Gendarmette
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > progressbar c pas bien compliqué
> > > > > > > t'as la propriété MIN MAX et VALUE en gros
> > > > > > > ex:
> > > > > > >

> > > > > > > p.min = 0
> > > > > > > p.max = 100
> > > > > > > p.value=0
> > > > > > > for i = 0 to 100
> > > > > > > p.value = p.value + i ' la progress bar s'incrémente
> > > > > > > next
> > > > > > >

> > > > > > > voila il reste juste a l'adapter a ton prog
> > > > > > > bon courage @+ ;o)
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > Voici mon code en gros:
> > > > > > > >

> > > > > > > > n = 0
> > > > > > > > For i = 0 To MaxTableauSource1
> > > > > > > > For j = 0 To MaxTableauSource2
> > > > > > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > > > > > FichierExiste = True
> > > > > > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > > > > > n = n + 1
> > > > > > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > > > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > > > > > FileCopy Source2, Destination2
> > > > > > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > > FileCopy Source1, Destination1
> > > > > > > > End If
> > > > > > > > End If
> > > > > > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > > > > > FichierExiste = False
> > > > > > > > End If
> > > > > > > > If FichierExiste = False Then
> > > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > > FileCopy Source1, Destination1
> > > > > > > > End If
> > > > > > > > Next j
> > > > > > > >
> > > > > > > > Next i
> > > > > > > > FichierExiste = False
> > > > > > > >
> > > > > > > > For i = 0 To MaxTableauSource2
> > > > > > > > For j = 0 To MaxTableauSource1
> > > > > > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > > > > > Next j
> > > > > > > > If Not FichierExiste Then
> > > > > > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > > > > > FileCopy Source1, Destination1
> > > > > > > > End If
> > > > > > > > Next i
> > > > > > > >

> > > > > > > >
> > > > > > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > > > > > Est-ce que qqn peut m'aider?
> > > > > > > > Merci!
> > > > > > > >
> > > > > > > > Gendarmette
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>
jeudi 19 juin 2003 à 16:06:11 | Re : Marre de ma ProgressBar!

Delbeke


Essayez le code suivant

Dim Ubound1 As Integer
Dim Ubound2 As Integer
Dim I As Integer
Dim J As Integer
Dim Source1 As String
Dim Source2 As String
Dim Destination1 As String
Dim Destination2 As String
Dim FichierExiste As Boolean
Dim N As Single
Dim Inc As Single

Ubound1 = UBound(Fichier1, 1) 'chiffre maxi dans le premier indice
Ubound2 = UBound(Fichier2, 1)
'Nb d'elements dans le tableau = ubound1*ubound2
'***LA PROGRESSBAR COMMENCE ICI***
If Ubound1 * Ubound2 > 32500 Then
sbPgBar.Max = (Ubound1 * Ubound2) \ 10
Inc = 0.1
Else
sbPgBar.Max = Ubound1 * Ubound2
Inc = 1
End If
sbPgBar.Value = 0
For I = 0 To Ubound1
For J = 0 To Ubound2
'petite simplification ici
If Fichier1(I, 0) = Fichier2(J, 0) Then
'fichier exite
If Fichier1(I, 1) < Fichier2(J, 1) Then
Source2 = "D:\Christine\Rep2\" & Fichier2(J, 0)
Destination2 = "D:\Christine\Rapport\" & Fichier2(J, 0)
FileCopy Source2, Destination2
Else
Source1 = "D:\Christine\Rep1\" & Fichier1(I, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(I, 0)
FileCopy Source1, Destination1
End If
Else
'fichier n'existe pas
Source1 = "D:\Christine\Rep1\" & Fichier1(I, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier1(I, 0)
FileCopy Source1, Destination1
End If
N = N + Inc
sbPgBar.Value = Int(N)
Next J
Next I
'deuxiéme passage , on repart avec un status bar à zéro
sbPgBar.Max = Ubound1
sbPgBar.Value = 0
FichierExiste = False
For I = 0 To Ubound2
For J = 0 To Ubound1
If Fichier2(I, 0) = Fichier1(J, 0) Then
FichierExiste = True
End If
Next J
If Not FichierExiste Then
Source1 = "D:\Christine\Rep2\" & Fichier2(I, 0)
Destination1 = "D:\Christine\Rapport\" & Fichier2(I, 0)
FileCopy Source1, Destination1
End If
sbPgBar.Value = sbPgBar.Value + 1
Next I
'***ET SE TERMINE LA***


Jean-Luc


-------------------------------
Réponse au message :
-------------------------------

> J'ai essayé d'intégrer vos morceaux de code mais sans succès.
>
> Voici l'ensemble de mon programme. Si vous en trouvez le temps (et surtout le courage), indiquez moi l'endroit exact des modifications à effectuer.
>
> Ce n'est pas urgent et je comprendrais que vous ayez autre chose à faire !
>
> En tout cas merci pour l'aide que vous m'avez déjà apporté.
>
>
>

> Dim Ubound1, Ubound2 As Integer
>
> For n = 0 To Ubound1
> If Fichier1(n, 0) = "" Then
> Ubound1 = n - 1
> End If
> Next n
>
> For n = 0 To Ubound2
> If Fichier2(n, 0) = "" Then
> Ubound2 = n - 1
> End If
> Next n
>
> MaxTableauSource1 = Ubound1
> MaxTableauSource2 = Ubound2
>
> ***LA PROGRESSBAR COMMENCE ICI***
>
> n = 0
> For i = 0 To MaxTableauSource1
> For j = 0 To MaxTableauSource2
> If Fichier1(i, 0) = Fichier2(j, 0) Then
> FichierExiste = True
> If Fichier1(i, 1) < Fichier2(j, 1) Then
> n = n + 1
> Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> FileCopy Source2, Destination2
> Else
> n = n + 1
> Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> FileCopy Source1, Destination1
> End If
> End If
> If Fichier1(i, 0) <> Fichier2(j, 0) Then
> FichierExiste = False
> End If
> If FichierExiste = False Then
> Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> FileCopy Source1, Destination1
> End If
> Next j
> Next i
> FichierExiste = False
>
> For i = 0 To MaxTableauSource2
> For j = 0 To MaxTableauSource1
> If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> Next j
> If Not FichierExiste Then
> Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> FileCopy Source1, Destination1
> End If
> Next I
>
> ***ET SE TERMINE LA***
>
> For n = 0 To 100
> Flex.AddItem Fichier3(n, 0) & vbTab & Fichier3(n, 1)
> Next
>
> Dim sRepertoire As String
> sRepertoire = "D:\Christine\Rapport\"
>
> Set fso = CreateObject("Scripting.FileSystemObject")
> Set Repertoire = fso.GetFolder(sRepertoire)
>
> Flex.Row = 0
> Flex.Col = 0
> Flex.Text = "Nom du fichier"
> Flex.Row = 0
> Flex.Col = 1
> Flex.Text = "Dernière modification"
> Flex.ColWidth(0) = 2100
> Flex.ColWidth(1) = 1700
>
> For Each Fichier In Repertoire.Files
> Debug.Print Fichier.Name & " " & Fichier.DateLastModified
> Flex.TextMatrix(Flex.Rows - 1, 0) = Fichier.Name
> Flex.TextMatrix(Flex.Rows - 1, 1) = Fichier.DateLastModified
> Flex.Rows = Flex.Rows + 1
> Fichier.Copy "D:\Christine\Rep1\"
> Fichier.Copy "D:\Christine\Rep2\"
> Next
>
> End Sub
>

> Gendarmette
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > C' est probablement que la valeur du progressbar dépasse la valeur MAX
> >
> > On peut toujours limiter la casse en faisant
> >
> > If PgBar.value+1<=PgBar.Max then
> > PgBar.Value=PgBar.value+1
> > end if
> >
> > Jean-Luc
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Je n'y arrive toujours pas.
> > > J'ai une erreur lors de l'incrementation de la ProgressBar et je ne sais pas comment determiner sa valeur maximale.
> > >
> > > Gendarmette
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Il n'est pas permis de modifier la valeur max dans la boucle
> > > > for x=0 to max
> > > > 'max ne peut être changé ici
> > > > next
> > > >
> > > > je vous propse de modifier votre code en ceci
> > > > Dim NbFiles as Integer
> > > > NbFiles=0
> > > > For n = 0 To Ubound1
> > > > If Fichier1(n, 0) <> "" Then
> > > > nbfiles=nbfiles+1
> > > > End If
> > > > Next n
> > > >
> > > >
> > > > Jean-Luc
> > > >
> > > >
> > > > Jean-Luc
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > J'avais d'abord pensé à mettre MaxTableauSource1 comme valeur à ProgressBar1.Max. Voici comment MaxTableauSource1 est calculé dans mon code :
> > > > >
> > > > >

> > > > > For n = 0 To Ubound1
> > > > > If Fichier1(n, 0) = "" Then
> > > > > Ubound1 = n - 1
> > > > > End If
> > > > > Next n
> > > > >
> > > > > MaxTableauSource1 = Ubound1
> > > > >

> > > > >
> > > > > Mais lorsque j'exécute le programme, une erreur se produit : valeur de propriété non valide.
> > > > >
> > > > > Gendarmette
> > > > >
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Deux choix possibles
> > > > > > Afficher une progregression a chaque fichier copié (+1 )
> > > > > > Afficher une progression de la quantité d'octets copiés
> > > > > > dans les deux cas on ne peut mettre à jourt la barre de progression qu'a la fin du ficle copy
> > > > > >
> > > > > > Pour connaitre la valeur à donner à max, il faut simuler un premier passage pour compter soit le nombre de fichiers qui vont être copiés, soit leur taille
> > > > > > Note : la taille peut se calculer avec FileLen(Fichier)
> > > > > > Verifier également que le total ne dépassera pas 32565 qui est la valeur maximum pour MAX. si c'est le cas on reduit en divisant par cent par exemple.
> > > > > >
> > > > > > Reste un autre solution à la quelle je viens de penser.
> > > > > > Réécrire un FileCopy .
> > > > > > C'est pas aussi dificile que cà.
> > > > > > auquel cas on pourrait afficher une progression pour chaque fichier.
> > > > > >
> > > > > >
> > > > > > Si cà vous interresse , je peux plancher la dessus.
> > > > > >
> > > > > > Jean-Luc
> > > > > >
> > > > > >
> > > > > > -------------------------------
> > > > > > Réponse au message :
> > > > > > -------------------------------
> > > > > >
> > > > > > > Justement c bien ça le probleme, j'arrive pas à l'appliquer à mon programme =)
> > > > > > >
> > > > > > > Gendarmette
> > > > > > >
> > > > > > >
> > > > > > > -------------------------------
> > > > > > > Réponse au message :
> > > > > > > -------------------------------
> > > > > > >
> > > > > > > > progressbar c pas bien compliqué
> > > > > > > > t'as la propriété MIN MAX et VALUE en gros
> > > > > > > > ex:
> > > > > > > >

> > > > > > > > p.min = 0
> > > > > > > > p.max = 100
> > > > > > > > p.value=0
> > > > > > > > for i = 0 to 100
> > > > > > > > p.value = p.value + i ' la progress bar s'incrémente
> > > > > > > > next
> > > > > > > >

> > > > > > > > voila il reste juste a l'adapter a ton prog
> > > > > > > > bon courage @+ ;o)
> > > > > > > > -------------------------------
> > > > > > > > Réponse au message :
> > > > > > > > -------------------------------
> > > > > > > >
> > > > > > > > > Voici mon code en gros:
> > > > > > > > >

> > > > > > > > > n = 0
> > > > > > > > > For i = 0 To MaxTableauSource1
> > > > > > > > > For j = 0 To MaxTableauSource2
> > > > > > > > > If Fichier1(i, 0) = Fichier2(j, 0) Then
> > > > > > > > > FichierExiste = True
> > > > > > > > > If Fichier1(i, 1) < Fichier2(j, 1) Then
> > > > > > > > > n = n + 1
> > > > > > > > > Source2 = "D:\Christine\Rep2\" & Fichier2(j, 0)
> > > > > > > > > Destination2 = "D:\Christine\Rapport\" & Fichier2(j, 0)
> > > > > > > > > FileCopy Source2, Destination2
> > > > > > > > > Else: If Fichier1(i, 1) > Fichier2(j, 1) Then n = n + 1
> > > > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > > > FileCopy Source1, Destination1
> > > > > > > > > End If
> > > > > > > > > End If
> > > > > > > > > If Fichier1(i, 0) <> Fichier2(j, 0) Then
> > > > > > > > > FichierExiste = False
> > > > > > > > > End If
> > > > > > > > > If FichierExiste = False Then
> > > > > > > > > Source1 = "D:\Christine\Rep1\" & Fichier1(i, 0)
> > > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier1(i, 0)
> > > > > > > > > FileCopy Source1, Destination1
> > > > > > > > > End If
> > > > > > > > > Next j
> > > > > > > > >
> > > > > > > > > Next i
> > > > > > > > > FichierExiste = False
> > > > > > > > >
> > > > > > > > > For i = 0 To MaxTableauSource2
> > > > > > > > > For j = 0 To MaxTableauSource1
> > > > > > > > > If Fichier2(i, 0) = Fichier1(j, 0) Then FichierExiste = True
> > > > > > > > > Next j
> > > > > > > > > If Not FichierExiste Then
> > > > > > > > > Source1 = "D:\Christine\Rep2\" & Fichier2(i, 0)
> > > > > > > > > Destination1 = "D:\Christine\Rapport\" & Fichier2(i, 0)
> > > > > > > > > FileCopy Source1, Destination1
> > > > > > > > > End If
> > > > > > > > > Next i
> > > > > > > > >

> > > > > > > > >
> > > > > > > > > J'ai mis une ProgressBar qui doit avancer en même tps que ce traitement, seulement je ne sais pas comment la configurer.
> > > > > > > > > Est-ce que qqn peut m'aider?
> > > > > > > > > Merci!
> > > > > > > > >
> > > > > > > > > Gendarmette
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

1 2

Cette discussion est classée dans : fichier1, source1, fichier2, fichierexiste, christine


Répondre à ce message

Sujets en rapport avec ce message

** PB CutCopyMode ** [ par yoarf ] Lorsque je mets :Application.CutCopyMode = FalseLe message d'erreur suivant apparait:Membre de méthode ou d edonnées introuvable.Voici tout mon code, CA MARCHE PAS ! [ par yoarf ] Lorsque je mets :Application.CutCopyMode = FalseLe message d'erreur suivant apparait:Membre de méthode ou d edonnées introuvable.Voici tout mon code, Processus excel ne se ferme pas [ par yoarf ] Dim xl As ObjectDim WB_Fichier1 As Workbook, WB_Fichier2 As WorkbookDim WS_FeuilleACopier As WorksheetSet xl = CreateObject("Excel.Application") Ligne suivante ds tableau [ par Gendarmette ] Voici mon codePrivate Sub BtComparer_Click() Dim MaxTableauSource1 As Integer Dim MaxTableauSource2 As Integer Dim i As Integer dur a faire !!!!!!! [ par T103 ] sous vb je sui arrive a enregistrer le contenu de ma msflexgird sous fichier txt donc lorsque j'ouvre celui ci j ai bien mes valeur mais j ai plein d affichage excel besion d'aide [ par nikostaf ] bonjour,dans mon prog j'ai mis un commande bouton me permet d'ouvrir un fichier excel bien donné,ca marche sans prob et après je ferme ce fichier et q copie de fichiers depuis et sur un ftp en vbs [ par kaalii ] bonjour.voila, j ai un petit soucisje souhaite , par une appli en vbs, copier, et reccuperer des fichier sur un ftp.j ai aucun probleme pour le faire Problème de code avec word [ par Doumai60 ] Doumai60Pourquoi ce petit code n'ouvre pas le fichier que j'ai selectionné à partir de ma FileListBoxword s'ouvre en arrière plan sans le fichierPriva Mscomm répondeur [ par paiefie ] Bonjour,je cherche à enregistré le son vocal qui arrive sur le modem via le mscomm.afin de fait un mini répondeurc tu comment faire ou a tu un petit e Lien avec un doc word dans word [ par Patrik ] Salut,J'ai deux fichiers MSWord (Fichier1.doc et Fichier2.doc)Quand j'ouvre Fichier1.doc je souhaite créer dans ce document un lien hypertexte sur le


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales