Bonsoir,
J'ai encore une colle.
Voilà, avec un bouton, je sélection un fichier extrait d'excel au format.csv dont voici le contenu :
M5711002000000;P9991002000000
M5711002000000-STD01;P9991002000000-STD01
M5711002000100;P9991002000100
M5711002000100-STD01;P9991002000100-STD01
M57110020-01;P99910020-01
M57110020-02;P99910020-02
Comme vous le remarquerez, il y a deux noms de chaque coté de la virgule.
Le premier est le début du nom qui existe dans mon répertoire de travail et le second est celui que prendra le nom du fichier quand il sera écrit dans le répertoire de sortie.
Voilà ce que j'ai fait.
Avec une boucle, je crée deux tableaux 0 et 1 et à i, je positionne les noms :
pour i = 1 dans le tab. 0 on trouve M5711002000000 et
pour i = 1 dans le tab. 1 on trouve P9991002000000 etc.
voici mon code :
#CODE#
#/CODE#
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Private Sub CmdBrowseCvsFile_Click() On Error GoTo ErrorFile winCmd.CancelError = True winCmd.InitDir = "c:\" winCmd.Filter = "Csv File (.csv)|*.csv" winCmd.FilterIndex = 1 winCmd.Action = 1 winCmd.ShowOpen strPathCsv = winCmd.FileName ' Permet de modifier la valeur Text du champ de texte. txtPathExcelFile.text = strPathCsv 'indique le chemin complet txtPathExcelFile.BackColor = &H80000005 'change la couleur du label 'lbltxtPathExcelFile.Caption = "" '=========================================================================== ' lecture du fichier Dim L As String Dim i As Long Dim Datas() As String 'anciens nom de fichiers Dim tableauNEW() As String 'nouveaux nom de fichiers Dim tableauOLD() As String i = 0 Open txtPathExcelFile.text For Input As #1 While Not EOF(1) Line Input #1, L Datas = Split(L, ";") tableauOLD(i) = Datas(0) 'MsgBox Datas(0) tableauNEW(i) = Datas(1) 'MsgBox Datas(1) i = i + 1 Wend Close #1 'filecopy ( 'Next i Exit Sub ErrorFile: End Sub
--------------------------------------------------------------------------
Maintenant avec un bouton Start, je lance la fonction CopyFile qui se trouve dans le module copyFileTemp dont voici le code :
-------------------------------------------------------------------------
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Function CopyFile() 'Lecture du tableau 1 et 2 pour copier les fichiers dans c:\temp\IN et c:\temp\OUT MsgBox "For i = 0 To tableauOLD.Getupperbound(0)", vbInformation, "Valeurs en entrée" MsgBox "For i = 0 To tableauNEW.Getupperbound(0)", vbInformation, "Valeurs en sortie" End Function
En fait pour le moment, je voudrais juste afficher ce que les tableaux contiennent. Et si c'est bon, je ferais j'espère le code qui permettra de copier les fichiers \\toto\IN\* du réseau vers c:\..\IN en local puis de c:\..\IN en local vers c:\..\OUT en local avec le "renommage" des fichiers puis si tout fonctionne une dernière procédure pour copier les fichiers renommés vers le réseau \\toto\OUT.
Mais bon, bref, je n'arrive même pas à afficher le contenu du tableau....![]()
chuis Désolé![]()
si quelqu'un peut m'aider .....
Merci les ami(e)s
Cordialement,
Patrick








Répondre avec citation
Partager