Help excel vba

SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans un fichier excel, j'ai une liste de noms "partiel" de fichiers sous forme "4000005240123" le reste est variable, j'aimerai récupérer le nom complet de tous les fichiers contenant les noms partiels et présent dans un répertoire c:\test. Ensuite sur la base du nom complet faire une copie de tous les fichiers trouvés dans un autre répertoire.

nom partiel = 4000005240123
recherche nom complet dans c:\temp = jhchhb 4000005240123 echbejbh.pdf
Copy nom complet vers c:\new

Si qq peut m'aider un peu car je n'arrive pas à adapter ce que j'ai pu trouver faute de compétences. Soit cela recherche 1 seul de mes noms soit j'extraie la totalité du répertoire.

J'ai 800 noms partiels à extraire, avec 2 ou 3 occurrences, mais dans 80000 fichiers....
Merci d'avance

A voir également:

7 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Peux-tu être plus pécis ?

Dans un fichier excel, j'ai une liste de noms "partiel" de fichiers ...

Dans quel onglet, sous quel forme ? dans un tableau, une colonne, une ligne ?

Peux tu mettre un exemple de ton fichier, en enlevant les données confidentielles le cas échéant, sur cjoint.com et mettre ici le lien pour récupérer ton fichier.

Merci

;0)
0
SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Voici un fichier qui j'espère apportera les précisions nécessaires. Merci d'avance

https://www.cjoint.com/?DAhi1iX4JBV
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Voilà un premier jet à tester https://www.cjoint.com/?DAhnplozxmr.

A toi de dire...

;0)
0
SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta rapidité, il y a de ça et bien mieux que ce que j'ai pu obtenir mais....:
- dans un contexte normal de départ, seule la colonne A contient des données (puisque je n'ai pas les noms complets). Dans ce cas j'ai "traitement terminé" mais aucun noms de "récupéré" ni aucun fichier copié.
- Si je laisse les noms colonnes 2 et 3 mais cela être vide, cela copie bien mais s'arrête si le fichier est absent
Merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Peux-tu me confirmer le répertoire où il faut rechercher et le répertoire où il faut copier ?

Merci

Edit: J'ai fait une boullette dans l'instruction InStr()

Il faut remplacer :
If InStr(1, str, fichier.Name) <> 0 Then
            derlig = ws.Range("B" & Rows.Count).End(xlUp).Row + 1
            ws.Range("B" & derlig).Value = ExtractFileName(fichier.Path)
        End If


par

If InStr(1, fichier.Name, str) <> 0 Then
            derlig = ws.Range("B" & Rows.Count).End(xlUp).Row + 1
            ws.Range("B" & derlig).Value = ExtractFileName(fichier.Path)
        End If


Je suis désolé.

«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
0
SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai pris pour mes brouillons:
C:\temp = origine
C:\tests = destination
Merci
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
As-tu fait la modif comme indiquée ci dessus ?
0
SAngarmatha Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Bravo!!! C'est exactement ça, en bien plus rapide et juste que moi. Je testerai demain sur un grand nombre de fichier et te tiendrai au courant.
Un grand merci
0