Aide pour Listbox en VB ??

Résolu
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010 - 24 juin 2010 à 08:41
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010 - 24 juin 2010 à 14:04
Bonjour,

donc voila sa fait 3 jours que je suis dessus , j'arrive pas a trouver
je suis sur visual basic 2008

Enfaite j'ai un bouton parcourir , et tout les fichiers que je parcours se mettent dans une listbox .
et ces fichiers je dois les envoyer sur d'autres pc en local
et dans ma fonction FileCopy , il faut donc que je fasse varier mon chemin source selon le fichier à envoyer
mon maitre de stage veut que tout les fichiers s'envoient en 1 fois donc il faut que je fasse une boucle qui me permet de mettre le chemin du 1e fichier de la liste en chemin source et l'envoyer , le 2e .. etc etc
mais je sais vraiment pas , je suis bloquer

Merci

23 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 11:34
Dim DestDir As String = "\\PC1\Dossier1" 
For Each Item As String In MaListBox.Items 
    Dim Filename As String = Item.Substring(Item.LastIndexOf(""), Item.Length - Item.LastIndexOf("")) 
    IO.File.Copy(Item, DestDir & Filename) 
    Application.DoEvents()'Evite le Freez de l'appli 
Next 


Oubli de coloration désolé, c'est plus joli comme ca !

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
3
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 09:22
Salut,

et dans ma fonction FileCopy , il faut donc que je fasse varier mon chemin source selon le fichier à envoyer


Ok, mais en fonction de quels critères ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 09:37
bha dans la listbox où les fichiers que choisit l'utilisateur , sa affiche le chemin complet , le nom et l'extension du fichier . donc dans ma boucle je voudrais qu'il recupere le chemin qui est inscrit dans la listbox
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 09:54
Voila pour l'instant mon code


'chemin d'origine des fichiers
Dim sourceDir As String = "C:\Documents and Settings\Mes documents\test"
'chemin où sont copier les fichiers
Dim backupDir As String = "\\poste1\ia"

Try
Dim txtList As String() = Directory.GetFiles(sourceDir, "*.txt")

For Each f As String In txtList
Dim fName As String = f.Substring(sourceDir.Length + 1)

Try
File.Copy(Path.Combine(sourceDir, fName), Path.Combine(backupDir, fName))
MessageBox.Show("Votre fichier s'est correctement envoyé ! ")

Catch copyError As IOException
MessageBox.Show("Erreur pour la copie des fichiers ! " & copyError.Message)

End Try
Next


Catch dirNotFound As DirectoryNotFoundException
MessageBox.Show(" Erreur de copie ! " & dirNotFound.Message)
End Try
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 juin 2010 à 10:51
Bonjour,
J'ai vu que vous aviez fait plusieurs post sur le même sujet. Il suffit parfois de chercher sur le Forum pour avoir la réponse. Ce sujet a été traité sur ce Forum il n'y a pas très longtemps voir:
http://www.vbfrance.com/forum/sujet-VB-COMMENT-COPIER-PLUSIEURS-FICHIERS-DANS-DOSSIER_1447945.aspx

J'ai signalé qu'il fallait n'avoir que le nom des fichiers avec leur extension pour que la copie soit possible.
L'exemple que j'ai donné est avec une ChekedListBox, c'est la même chose avec une LisBox
@+
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 10:53
Et bah t'as trouvé ? Non ? Y'a quelque chose qui ne va pas avec ton code ?

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 10:57
bha nan j'ai pas trouver parce que la j'ai ecrit le chemin dans le code directement alors que je voudrais que mon prog le trouve automatiquement dans la listbox
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 11:00
Ah mais c'est juste ca !

Récupère le Filename de ta boite de dialogue lors du chargement du listbox, tout simplement.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 11:01
Enfin, je dis ça, mais en fait j'ai pas vraiement vu ton code donc je ne sais pas trop comment tu gère l'ajout de tes fichiers dans celui-ci.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 11:03
Question :

Ton programme doit parcourir un dossier pou en lister les fichier *.txt et les copier vers un chemin UNC ou bien il doit permettre de sélectionner les fichier via une OpenFileDialog ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:08
bha j'ai un bouton parcourir qui m'ouvre une boite de dialogue openfiledialog
l'utilisateur choisit un fichier qui ensuite s'affiche dans une listbox où on voit le chemin complet , le nom et l'extension du fichier qui vient d'etre choisit
l'utilisateur doit pouvoir en choisir plusieurs donc dans ma listbox , il y aura plusieurs fichiers
et lorsque je clique sur envoyer , il faudrait qu'il les envoit tous donc il faudrait que mon programme recupere a chaque fois le chemin d'acces pour envoyer les fichiers
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:09
le pivert dans le code que tu as posté dans la discussion que tu m'a passer je ne vois pas à quoi correspond ton bouton cible ?
à quoi sert -il ?
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 juin 2010 à 11:18
C'est très simple c'est le chemin de destination.
Il faut le chemin du dossier source, ensuite les fichiers qui s'affichent dans la ListBox. Après il faut le chemin du dossier de destination (cible) pour lui envoyer les fichiers. Enfin c'est comme cela que je procède. Cela fonctionne très bien, il suffit de sélectionner plusieurs fichiers , ils sont automatiquement copiés dans le dossier de destination(cible)
@+ Le Pivert
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:20
mais moi les fichiers que l'utilisateur choisit , ne sont pas dans les mêmes dossier
sa marchera quand meme ?
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 11:33
Tu as dis avoir le chemin complet dans la listbox :

Dim DestDir As String = "\\PC1\Dossier1"
For Each Item As String In MaListBox.Items
Dim Filename As String = Item.Substring(Item.LastIndexOf(""), Item.Length - Item.LastIndexOf(""))
IO.File.Copy(Item, DestDir & Filename)
Application.DoEvents()'Evite le Freez de l'appli
Next

Donc voila... rien de plus simple

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 juin 2010 à 11:35
Si je comprends bien c'est juste le chemin d'accès que tu copies. Mais alors ce chemin d'accès tu le mets où?
Dans un fichier texte?
Dans ces conditions le fichier par lui-même n'est pas copié. Comme je l'est expliqué précèdemment pour copier un fichier il faut une dossier source et un dossier destination.
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:38
bha nan c'est le fichier que je copie , dans mon code je met juste le chemin du dossier où se situe mon fichier
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:43
je vais texpliquer en detail mon projet

j'ai une listebox qui me sert à afficher les fichiers que l'on veut copier
donc un bouton parcourir qui m'ouvre un openfiledialog pour que l'utilisateur choisisse les fichiers qu'il souhaite copier

ensuite j'ai 2 checkbox un "secteur E" et un "secteur F"
quand je coche l'un des 2 , j'ai une liste de pc (relié en local) qui s'affiche dans une autre listbox

donc mon projet c'est d'envoyer les fichiers presents dans la 1e listbox vers tout les pc qui sont dans ma 2e listbox
0
nico8001 Messages postés 92 Date d'inscription mercredi 9 juin 2010 Statut Membre Dernière intervention 30 juin 2010
24 juin 2010 à 11:51
oh mayzz thanks youuu sa marche =) =)

juste une autre question stp :)
mon chemin de destination change aussi enfonction de l'ordinateur qu'a choisi l'utilisateur
en gros il faudrait que je fasse aussi une boucle (du meme style que mes fichiers) pour mon chemin de destination
saurez tu le faire ?? =)
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
24 juin 2010 à 12:06
C'est pas une boucle, c'est simplement changer la valeur de la variable "DestDir" avant le début dela boucle...

Pour ca à toi de voir, ca dépend ce que tu utilises comme contrôle pour le choix de l'ordinateur cible, si c'est un FolderBrowserDialog alors fais simplement :

Dim DestDir As String = FolderBrowserDialog1.SelectedPath



Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous