Bonjour tout le monde ! Je n'ai pas l'habitude de poster dans des forums, mais je suis complétement bloqué, j'ai besoin de votre aide !
Je m'explique : J'ai une listbox, qui contient des chemins d’accès de fichier, et une dirlistbox, qui contient aussi des chemin d’accès mais de dossier.
Le but du jeu, c'est d'ouvrir un .bat, d'envoyer les chemins d’accès en paramètre en poffinant une syntaxe pour ouvrir Robocopy pour que l'utilisateur puisse copier les fichiers qu'il a sélectionné dans les boxs que j'ai cité plus haut.
J'en suis alors arrivé a ce code :
Mais on dirait que lors du premier Print #1 il ne reconnait pas mes variables puisque dans la fenêtre dos qui s'ouvre si il ne m'affiche pas une erreur, je vois les chemins d’accès : D:\Monprogramme\source et D:\Monprogramme\destination
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 'MsgBox "il y a " & CStr(GetSelectedItems(img_list)) & " item(s) sélectionné(s)" Dim ret As Long Dim i As Integer Dim nb_ligne As Integer Dim destination As String Dim source As String nb_ligne = GetSelectedItems(img_list) 'Pour chaque ligne de la list box on rajoute une ligne dans le .bat 'les """ sont la pour faire en sorte que les dossiers avec plus de 6 'caractères passent sans problemes ! a chaque tour de boucle on ouvre le 'fichier, on rajoute la ligne, et on le ferme ect... 'IL FAUT TROUVER COMMENT PASSER EN PARAMETRE LA VARIABLE SOURCE ET DESTINATION For i = 0 To nb_ligne source = "robocopy" + img_list.ItemData(i) destination = dir2.Path + " /E /SEC" Open "C:\rbcpy_line.bat" For Append As #1 Print #1, source, destination 'Print #1, "Ma ligne DOS 2" Close #1 Next Open "C:\rbcpy_line.bat" For Append As #1 Print #1, "pause" 'Print #1, "Ma ligne DOS 2" Close #1 'On sort de la boucle, et on lance le bat obtenu ! '(On ne va pas le lancer à chaque tour de boucle hein !) ret = Shell("C:\rbcpy_line.bat", vbNormalFocus) End Sub
Comment lui faire comprendre que source et destination CONTIENNENT des chemins d’accès ?
edit :
J'ai essayé ça aussi xD
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 For i = 0 To nb_ligne source = """+img_list.ItemData(i)+""" destination = """+dir2.Path+""" Open "C:\rbcpy_line.bat" For Append As #1 Print #1, "robocopy" & source; destination & " /E /SEC" 'Print #1, "Ma ligne DOS 2" Close #1 Next
edit 2 : en trafiquant le code (bob le bricoleur) il semblerait que ce soit le type de la fonction qui accueille l'objet de la listbox qui poserait problème...
Ce n'est pas un string ? O_o
Merci
Partager