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 : 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
#/CODE#
--------------------------------------------------------------------------
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