copie de fichiers vers dossiers en fonction du nom de fichier - VB/VBA/VBS - Programmation
Marsh Posté le 17-09-2007 à 10:05:08
Pour la partie vérification et création éventuelle du dossier : en VBA
A adapter à ton contexte
|
Private Function CreationDossier(ByVal sPath As String) As Boolean |
Marsh Posté le 17-09-2007 à 10:28:35
Merci pour cette réponse très rapide !
Mais tout compte fait, ça ne me prendra que très peu de temps de créer une liste de dossier, donc je le fais à la main pour cette partie-là.
(je n'ai besoin que d'une ou deux secondes pour créer une liste de 40 dossiers, mais de 2 à 3 minutes pour déplacer les fichiers dans ces différents dossiers)
En tout cas, ça me permet de me remémorer petit à petit comment fonctionne le Wscript.
Marsh Posté le 17-09-2007 à 10:34:19
Si tu préfères faire à la main qqch qui peut être automatisé
Marsh Posté le 17-09-2007 à 10:47:43
Ah, désolé, désolé,
Tu me donnes une partie de la solution et je m'empresse de ne pas l'utiliser ^_^
Ce que je voulais dire, c'est que ça pourrait être plus simple pour le déplacement de fichier si les dossiers sont déjà existants.
C'est plutot ce que je me demande, je ne sais pas à quoi va ressembler le code au final, je n'ai pas les outil à ma disposition (notament la liste de toutes les fonctions en format hlp que j'ai égaré)
Je pense qu'une recherche de chaine de texte spécifique fonctionnerait.
Je m'explique, à chaque fois qu'il trouve un fichier donné, il le déplace dans un dossier donné (dans ce cas-là, la chaine de texte choisi est la même pour le fichier et le dossier)
En utilisant une boucle avec incrémentation ou un fichier texte avec les infos de recherche à lire je pense que ça ferait l'affaire.
Mais ma question est : quels sont les codes pour faire une recherche ?
Ou plutôt, où pourrais-je trouver le fichier dont je parlais (le fichier hlp) ?
Marsh Posté le 17-09-2007 à 11:23:38
VBA Excel : Liste des noms de fichiers présents dans un Dossier
La recherche peut être récursive,à adapter au contexte
Dans VBE [Alt+F11] Outils | Références : Cocher Microsoft Scripting Runtime
|
Faire un Split du nom de fichier avec "_" comme séparateur
dans le tableau résultant nommé par exemple Ar en Ar(1) tu auras le nom du dossier voulu
par exemple pour AA009_P002b_Img001 en faisant Ar=Split(NomDuFichier,"_" )
Ar(1) contiendra P002b
Ce qui devrait donner
|
Marsh Posté le 17-09-2007 à 12:14:06
En fait, j'avais l'habitude d'écrire mes scripts dans des fichiers vbs.
Il y aurait quelques lignes à changer dans ce cas ?
Marsh Posté le 17-09-2007 à 09:45:27
Bonjour,
Je cherche à copier une liste de fichiers qui sont tous dans un même dossier vers des dossiers différents.
Une partie du nom des fichiers comporte 4 ou 5 caractères (P001 ou P001a).
Un extrait :
AA009_P001_Img001
AA009_P001_Img002
AA009_P001_Img003
AA009_P002a_Img001
AA009_P002b_Img001
AA009_P002b_Img002
AA009_P003_Img001
Je voudrais pouvoir copier ces fichiers dans des dossiers déjà existants, eux-même dans le même dossier des fichiers.
AA009_P001_Img001 --> copié dans dossier nommé "P001"
AA009_P001_Img002 --> copié dans dossier nommé "P001"
AA009_P001_Img003 --> copié dans dossier nommé "P001"
AA009_P002a_Img001 --> copié dans dossier nommé "P002a"
AA009_P002b_Img001 --> copié dans dossier nommé "P002b"
AA009_P002b_Img002 --> copié dans dossier nommé "P002b"
AA009_P003_Img001 --> copié dans dossier nommé "P003"
J'ai déjà codé un petit peu en WScript mais ça fait longtemps, alors je pense que je pourrais peut-être m'en sortir juste avec quelques indications (enfin j'espère !)
Merci d'avance !
Message édité par anthony0000 le 17-09-2007 à 10:36:22