Copier fichier avec condition

Buko_85

XLDnaute Nouveau
Bonjour à tous !
Je suis à la recherche d’un code me permettant une fois un travail effectué sur un fichier de copier ce dernier dans un autre répertoire et ce de façon semi-automatique, en ajoutant au nom du fichier la date du Jour : format(date, « YYYYMMDD »).
Je tourne en rond et ne parviens pas à formuler correctement et génère sans cesse des erreurs de compilation !!

1) Concrètement j’ai un fichier intitulé « Stock_Magasin1.xls » et souhaite le mettre à disposition sur un lecteur sous la forme « Stock_Magasin1 2011-05-13.xls ». L’utilisation de la fonction FileCopy permet de copier le fichier à l’identique mais je ne sais pas lui rajouter la date !!De plus je cherche à mettre une boîte de dialogue avec la fonction MsgBox (« Quel est le fichier à copier ? »).

2) Inversement, j’ai des fichiers comportant le N° de la semaine sur des en-cours chantiers que j’aimerais copier selon le N° de la semaine recherché d’un lecteur vers un autre. Ces fichiers sont bâtis de la même façon « Encours Chantier tartempion S xx.xls ».

Par avance, je vous remercie pour le coup de pouce. Je ne parviens (toujours) pas à combiner les fonctions…
 

JNP

XLDnaute Barbatruc
Re : Copier fichier avec condition

Bonjour Buko_85 :),
1)
Name, instruction
Renomme un fichier, un répertoire ou un dossier sur un disque.
Syntaxe
Name oldpathname As newpathname
permet de renommer un fichier :p.

FileDialog, objet
Cet objet fournit une fonctionnalité de boîte de dialogue de fichier similaire à la fonctionnalité des boîtes de dialogue standard Ouvrir et Enregistrer qui existent dans les applications Microsoft Office.

Remarques




Utilisez la propriété FileDialog pour renvoyer un objet FileDialog. La propriété FileDialog se trouve dans l'objet Application de chaque application Office individuelle. La propriété prend un seul argument, DialogType, qui détermine le type d'objet FileDialog que la propriété renvoie. Il existe quatre types d'objets FileDialog :
  • Boîte de dialogue Ouvrir - permet aux utilisateurs de sélectionner un ou plusieurs fichiers que vous pouvez ensuite ouvrir dans l'application hôte à l'aide de la méthode Execute.
  • Boîte de dialogue Enregistrer sous - permet aux utilisateurs de sélectionner un seul fichier que vous pouvez ensuite enregistrer comme fichier en cours à l'aide de la méthode Execute.
  • Boîte de dialogue Sélecteur de fichier - permet aux utilisateurs de sélectionner un ou plusieurs fichiers. Les chemins d'accès aux fichiers que l'utilisateur sélectionne sont capturés dans la collection FileDialogSelectedItems.
  • Boîte de dialogue Sélecteur de dossier - permet aux utilisateurs de sélectionner un chemin d'accès. Le chemin que l'utilisateur sélectionne est capturé dans la collection FileDialogSelectedItems.
sera certainement beaucoup plus efficace qu'une MsgBox :rolleyes:...

2) Quelque chose comme ça
Code:
Sub Liste()
 
Dim Chemin As String, Dossier As Object, Fichier As Object
Chemin = "C:\temp"
Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
For Each Fichier In Dossier.Files
    If Right(Fichier.Name, 4) = ".xls" Then
        If Fichier.Name Like "*" & "tartempion" & "*" & "S xx" & "*" Then
            MsgBox Fichier.Name
        End If
    End If
Next
End Sub
devrait te convenir :p...
Bon WE :cool:
 

CBernardT

XLDnaute Barbatruc
Re : Copier fichier avec condition

Bonjour à tous,


Une réponse à la première question :

Copie d'un fichier source présent dans un répertoire vers un autre répertoire à choisir, avec :

1- La vérification que cette copie ne si trouve pas déjà ;

2- La date du jour est ajoutée au nom du fichier source.
 

Pièces jointes

  • EnregistrerClasseurModèleVersRep.xls
    30 KB · Affichages: 61

Discussions similaires

Réponses
56
Affichages
1 K
Réponses
9
Affichages
400

Statistiques des forums

Discussions
312 292
Messages
2 086 856
Membres
103 400
dernier inscrit
MINOU WILL