Extraire un texte du nom d'un fichier

sonskriverez

XLDnaute Occasionnel
Bonjour le forum

Pour copier/coller une feuille d'un fichier dans celui ouvert, j'utilse cette macro :

Sub Copier_Feuille()

' *** ouvrir un fichier Excel, selection une sheet , copier, coller dans une sheet du classeur appelant

Dim Fichier, Repdefaut As String
RepPardefaut = "C:\" ' A adapter

Fichier = Application.GetOpenFilename("Fichiers Excel (*.*), *.*", , "Sélectionner un fichier.")
If Fichier <> False Then
Application.ScreenUpdating = False
Workbooks.Open Fichier
Sheets("Feuil1").Cells.Copy ThisWorkbook.Sheets("Resultat").Range("A1")
ActiveWorkbook.Close
Application.ScreenUpdating = True
End If
' remise en place du répertoire par défaut
ChDrive "C:"
CurDir RepPardefaut
End Sub

Le fichier que je vais chercher sur le disque a toujours le même format, 29 caractère + date :

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx26 09 2013.xls

Est-il possible d'extraire uniquement le texte date, le transformer en date et le coller dans la cellule A2 de ma feuille "Resultat et le copier vers le bas jusqu'à la dernière ligne ?

Merci de votre aide
 

MJ13

XLDnaute Barbatruc
Re : Extraire un texte du nom d'un fichier

Bonjour sonskriverez

Tu peux tester sur une feuille un code de ce type avec le nom du fichier en A1 pour faire le test:

Code:
Sub extrait_date()
Cells(2, 1) = CDate(Replace(Mid(Cells(1, 1), Len(Cells(1, 1)) - 13, 10), " ", "/"))
End Sub
 

john

XLDnaute Impliqué
Re : Extraire un texte du nom d'un fichier

Bonjour,

Voici une solution :)

Sub ext_date()
Dim lg_cell as integer
dim txt, annee, mois, jour as string

lg_cell = Len(Range("A1").Value)
txt = Mid(Range("A1").Value, 30, lg_cell - 33)
annee = Right(txt, 4)
mois = Mid(txt, 4, 2)
jour = Mid(txt, 1, 2)
Range("A2").FormulaR1C1Local = Format(jour & "/" & mois & "/" & annee, "dd/mm/yyyy")
Range("A2").Select
Selection.Copy
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
Range("A2").Select
Application.CutCopyMode = False
End Sub

BàT.

John

Ps: La solution de MJ13 est bcps plus courte que la mienne ;) à chacun sa façon de faire ... ;)
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal