Récupérer le nom de fichiers

lepigoennier

XLDnaute Junior
Bonjour,

Je ne sais pas si c'est possible. Je dois copier des pdf, word et jpeg dans un dossier particulier (environ 1000). J'ai la macro pour copier d'un dossier à l'autre. Par contre, est-il possible de copier le fichier si je n'ai que le début du nom du fichier ici A12 (A12, xxxxxxx.xxx) et le chemin où il est? Comment faire pour avoir le nom exact dans mon fichier Excel sans devoir le mettre manuellement?

Un gros merci
 

Roland_M

XLDnaute Barbatruc
Re : Récupérer le nom de fichiers

bonjour,

ce n'est pas très clair !?
on est dans la devinette !

un début de fichier abc ...
mais si il peut y avoir plusieurs fichiers avec le même début !?
alors en automatique ... !?
 

lepigoennier

XLDnaute Junior
Re : Récupérer le nom de fichiers

Bonjour,

Voici un peu plus de détails sur ce dont j'ai besoin : (je joint un fichier avec mon code)



Sub Copier_Fichiers_Dans_Dossier()

Dim Chemin As String
Chemin = CreateObject("WScript.Shell").SpecialFolders("Desktop")

Dim Fichier
Fichier = Chemin & Application.PathSeparator & "BAA.xlsm" 'donner le nom exact du fichier pdf et du chemin où il sera stocké


ActiveWorkbook.SaveAs Filename:=Fichier, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

' Ouvrir les fichiers nécessaires

Workbooks.Open Filename:= _
"C:\Localisation certificats BAA.xlsx"

'Début

Windows("BAA.xlsm").Activate

Columns("D:E").Select
Selection.Insert Shift:=xlToRight
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[3],'[Localisation certificats BAA.xlsx]Localisation'!C1:C4,4,FALSE)"

Selection.AutoFill Destination:=Range("D2:D" & Range("C65536").End(xlUp).Row)
Columns("D:D").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Range("E2").Select


'-------------------------------------------------------------------------------------------------------------------------------------------------------

' ici je dois mettre le code qui me permettra de récupérer le nom complet de mes fichiers
'J'ai le chemin du fichier
'J'ai le début du nom du fichier qui correspond à mon numéro d'item
' Exemple du nom complet qui doit apparaître dans la colonne E : N47495, GHI 2014 (20%).pdf
' C'est le GHI 2014 (20%).pdf que je veux qui soiet extrait étant donnée que j'ai déjà N47495
'-------------------------------------------------------------------------------------------------------------------------------------------------------



Dim FSO As Object
Dim NomFich As String
Dim St As String
Dim Rep_Init As String, Rep_Fin As String
Dim Derlig As Integer
Dim i As Long

Set FSO = CreateObject("Scripting.FileSystemObject")
Dossier = InputBox("Entrer le chemin du dossier, ne pas oublier de mettre \ à la fin")
Rep_Fin = Dossier
Sheets("Données").Select
Derlig = Range("D" & Rows.Count).End(xlUp).Row

For i = 2 To Derlig
If Range("D" & i) <> "" Then
St = CStr(Range("D" & i))
Rep_Init = Replace(St, CStr(Range("E" & i)) & Right(St, 4), "")
NomFich = Range("E" & i)
On Error Resume Next
FSO.CopyFile Rep_Init & NomFich, Rep_Fin & NomFich, True
End If
Next i
Set FSO = Nothing



Windows("Localisation certificats BAA.xlsx").Activate
ActiveWindow.Close

Windows("BAA.xlsm").Activate
ActiveWindow.Close

Kill Fichier


End Sub



Merci
 

Pièces jointes

  • test.xlsm
    20.2 KB · Affichages: 24
  • test.xlsm
    20.2 KB · Affichages: 28
  • test.xlsm
    20.2 KB · Affichages: 25

Roland_M

XLDnaute Barbatruc
Re : Récupérer le nom de fichiers

re

je comprends pas très bien mais peut être que c'est ceci !?
dans la boucle là où il y a: NomFich = Range("E" & i)

mettre comme ceci: NomFich = Range("E" & i) & ", GHI 2014 (20%).pdf"

ça me parait tellement simpliste, je doute que ce soit ça !? mais bon, à tout hasard !
 

lepigoennier

XLDnaute Junior
Re : Récupérer le nom de fichiers

En fait, j'ai le le # d'item et le nom du fournisseur, mais je peux avoir plusieurs années différentes, plusieurs % ou aucun et personne n'écrit le nom du fournisseur de la même manière lorsqu'ils enregistrent les certificats (abréviation, inc. co. qui peut être là où non), d'où la raison que je voudrais obtenir le nom complet du fichier commençant par le # d'item.
 

Discussions similaires