Bonjour
On ne peut pas copier un fichier ouvert par Filecopy. c'est entendu.
Mais peut-on copier d'une autre façon un fichier A en fichier B sans se soucier de savoir si A est ouvert.
Bonjour
On ne peut pas copier un fichier ouvert par Filecopy. c'est entendu.
Mais peut-on copier d'une autre façon un fichier A en fichier B sans se soucier de savoir si A est ouvert.
Bonjour,
Un exemple:
A adapter. Bonne continuation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 '--- fait appel à la référence Microsoft Scripting Runtime Sub FileOpenedCopy() Dim FSO As FileSystemObject, sName As String Set FSO = New FileSystemObject sName = ThisWorkbook.FullName FSO.CopyFile sName, Replace(sName, ".", "+.") Set FSO = Nothing End Sub
Si le fichier est ouvert sur le même poste que la macro, on peut me copier simplement avec un SaveCopyAs.
Lire ça : https://docs.microsoft.com/fr-FR/off...ook.savecopyas
Bonjour
#2
merci je vais essayer
#3
SaveCopyAs : j'ai pensé à cette solution mais elle ne marche à ma connaissance que si le fichier est ouvert. A priori la macro ne sait pas si le fichier est fermé ou ouvert sur le même poste par une autre macro, je peux bien sur tester et renvoyer un message d'erreur. Mais le but est de copier le fichier et ouvrir la copie en lecture pour donner une statistique sans perturber l'utilisateur par un message d'erreur et une action inutile
pour résumer si j'ai bien compris:
si le fichier est ouvert : Filecopy de marche pas
s'il est fermé pas de SaveCopyAs
Partager