J'ai donc régulièrement copié un fichier d'accès dans un autre répertoire, en remplacement de la dernière version ... Je voudrais utiliser une macro Excel pour y parvenir et je souhaite également renommer le fichier par la suite.
Par exemple.
fileName = "X:\Database\oldName.accdb"
copyDestination = "Y:\dbstore\"
newName = "newName.accdb"
Y a-t-il un moyen facile de faire ça?
Utilisez les méthodes appropriées dans Scripting.FileSystemObject. Ensuite, votre code sera plus portable sur VBScript et VB.net. Pour commencer, vous devez inclure:
Dim fso As Object
Set fso = VBA.CreateObject("Scripting.FileSystemObject")
Ensuite, vous pouvez utiliser
Call fso.CopyFile(source, destination[, overwrite] )
où source et destination sont les noms complets (y compris les chemins) du fichier.
Voir http://msdn.Microsoft.com/en-us/library/aa711216(v=vs.71).aspx
Cette méthode est encore plus facile si vous êtes d'accord avec moins d'options:
FileCopy source, destination
Une chose qui m'a causé beaucoup de maux de tête lors de l'utilisation de ce code ( pourrait affecter d'autres personnes et j'aimerais que quelqu'un ait laissé un commentaire comme celui-ci à lire ):
Ma solution consistera à exécuter le code (événement On timer) à partir d'un autre formulaire masqué qui s'ouvre avec la base de données.