Je suis parti du principe que tu n'avais qu'une feuille à copier (suivant l'exemple que tu m'avais envoyé), au moment ou on ouvre le fichier la feuille devient immédiatement active, le code copie donc la feuille qui viens de s'ouvrir :
ActiveSheet.Select
Range("A1:H50").Copy
On ignore le nom de la feuille, c'est une méthode pratique dans ses conditions. Sinon il doit éxister un moyen de connaître le nom exact mais vu qu'on veut juste ouvrir, copier, coller, refermer ... Je me suis pas pris la tête.
Après je sais pas, si tu as effectivement 70 000 lignes, se sera plus adapté (je te cherche le code)
Sinon :
ex:
Code: Tout sélectionnermyfile = nomdufichier.numero
'et au moment de l'enregistrement
ActiveWorkbook.SaveAs Filename:=myfile & ".xls", FileFormat:=xlExcel8
ce qui devrai donner au final "nomdufichier.numero.xls"
Là tu lui dis de mettre l'extension .xls, puis de l'enregistre au format .xls, il va te sortir un fichier .xls.xls à mon avis
Je vais essayer mais on a vu précedemment qu'il chiait des boudins (pardon l'expression) quand on laissait le point entre boc1 et 10052014.
Je reregarde mais j'y crois pas trop
Else
myFileOther = myFile & ".xls"
ActiveWorkbook.SaveAs Filename:=myPath & myFileOther, FileFormat:=xlExcel8
End If
Cela semble fonctionner chez moi, à vérifier pour toi (on garde le . et cela enregistre format .xls, j'arrive à l'ouvrir derrière)