Récupérer nom du ficher

Bonjour a vous tous,

je suis a la recherche d'un code vba qui me permette de recuperer le nom d'un fichier qui serait ouvert, voila comment se decompose le nom du fichier : VFU-23-may-2014.xlsx

j'ai besoin de récupérer que la date dans le nom du fichier, que je souhaite coller dans une cellule

Merci par avance pour votre aide.

Laurent

Bonjour

Un essai.

Si le "may" de ton exemple est une abréviation, il te faudra mettre des abréviations aux mois anglais de la variable Array.

Cela te convient-il ?

Sub RécupDate()
    Dte = Mid(ActiveWorkbook.Name, 5, Len(ActiveWorkbook.Name) - 9)
    Mois = Array("january", "february", "march", "april", "may", "june", "july", "august", "september", "november", "december")
    i = 0
    For Each M In Mois
        If M = Left(Right(Dte, 8), 3) Then
            Exit For
        End If
        i = i + 1
    Next M
    Dte = CDate(Replace(Dte, M, i + 1))
    Cells(1, 1).Value = Dte
End Sub

Salut Lolo69490

Voici une solution parmi d'autres

Sub NomFichier()
  Dim NomFic As String, ValFic() As String
  Dim Inc As Integer
  ' 1) récupérer le nom du fichier
  'NomFic = ActiveWorkbook.Name
  NomFic = "VFU-23-may-2014.xlsx"
  ' 2) supprimer l'extension
  NomFic = Replace(NomFic, ".xlsx", "")
  ' 3) Eclater les valeurs séparées par "-" dans un tableau
  ValFic = Split(NomFic, "-")
  ' 4) Donner les valeurs de 1 à 3, un tableau commence toujours à 0
  For Inc = 1 To 3
    Debug.Print ValFic(Inc)
  Next Inc
End Sub

Edit : oups, salut gmb

A+

salut gmb,

merci pour ta réponse, mais juste une petite question ...

le nom de mon fichier est copier ou ?

Merci pour ton explication

Laurent

salut BrunoM45,

je viens d'essayer ton code ...

le probleme c'est que tu m'obliges a utiliser le fichier VFU-23-May-2014.xlsx, mais l'utilisateur de mon fichier peux choisir le fichier VFU-....xlsx avec la date qu'il souhaitera....

donc comment rendre compatible ton code avec ma demande ?

Merci pour aide

A plus

Laurent

Tu écris :

le nom de mon fichier est copier ou ?

Réponse : en cellule A1 :

.....
...
        i = i + 1
    Next M
    Dte = CDate(Replace(Dte, M, i + 1))
    [color=#FF0040]Cells(1, 1).Value = Dte[/color]
End Sub

Re,

lolo69490 a écrit :

salut BrunoM45,

je viens d'essayer ton code ...

le probleme c'est que tu m'obliges a utiliser le fichier VFU-23-May-2014.xlsx, mais l'utilisateur de mon fichier peux choisir le fichier VFU-....xlsx avec la date qu'il souhaitera....

donc comment rendre compatible ton code avec ma demande ?

Ouille, ouille... je n'oblige à rien

'NomFic = ActiveWorkbook.Name
 NomFic = "VFU-23-may-2014.xlsx"

C'est juste pour le teste, il suffit de modifier le code comme tu le souhaites....

Par exemple enlever l'apostrophe de la 1ère ligne et le mettre sur la 2ème

salut brunoM45,

désolé, j'ai pas donné signe de vie ...

donc je reviens pour ton code ... je viens de changer pour mettre la bonne ligne, mais j'avoue que je ne vois pas le tableau apparaitre avec les infos que tu me mets en point 3 et 4 ?

est-il possible d'avoir le nom du fichier qui serait copier dans la feuille"home" dans la cellule nommée "CCR_date" ? Enfin en plus clair, peux-tu me donner le code, STP ????

merci pour ta patience.

Laurent

Rechercher des sujets similaires à "recuperer nom ficher"