XL 2010 Nom de fichier sans chemin réseau ni extension

Philippe LAMACHE

XLDnaute Junior
Bonjour à tous,
Je cherche désespérément à extraire dans une cellule les derniers caractères (longueur variable) entre le dernier "_" et le "."
Voici mon code

Sub Ouvrir_Fichier()
Dim result As String
LectChemin$ = ThisWorkbook.Path
If ActiveLectChemin(LectChemin$) Then
Nom_Fichier = Application.GetOpenFilename("Fichiers Excel, *.xls;*.xlsx")
result = Nom_Fichier
result = Mid(result, 1, Len(result) - 4)
Do While Replace(result, "\", "") <> result
result = Mid(result, 2, Len(result) - 1)
Loop
If Nom_Fichier <> False Then
Workbooks.Open Filename:=Nom_Fichier
End If
Else
Exit Sub
End If
Feuil3.[G1048576].End(xlUp).Offset(1, 0).Value = Nom_Fichier
Nom_Fichier_Court = Nom_Fichier ' Nom_Fichier à raccourcir
Feuil3.[G1048576].End(xlUp).Offset(0, 1).Value = Nom_Fichier_Court
Cells.Copy
ThisWorkbook.Activate
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Nom_Fichier_Court"
Cells.Select
ActiveSheet.Paste
[A1].Select

Call Ferme_Autre_Fichier
Feuil2.Activate
End Sub

Mon 'Nom_Fichier' me renvoie, selon le cas :
\\cluster02\GRP21\G_METHOD\BOITE\ECV\Liste_des_RGF_Bât 1.xlsx
ou
\\cluster02\GRP21\G_METHOD\BOITE\ECV\Liste_des_RGF_Bâtiment 12.xlsx
ou
...

Je souhaiterais que mon 'Nom_Fichier_Court' me donne seulement :
Bât 1
ou
Bâtiment 12
ou
...

Quelqu'un peut-il m'aider ?
Par avance, merci.
 

chris

XLDnaute Barbatruc
Bonjour

Utilise le principe suivant
VB:
X = InStrRev(Nom_Fichier, "_") + 1
Y = InStrRev(NomFichier, ".") - 1
Nom_Fichier_Court = Mid(NomFichier, X, Y)

Pense ici à mettre ton code dans une balise Code avec le bouton </>
 

pierrejean

XLDnaute Barbatruc
Bonjour Philippe

Edit: Salut et bises Chris

Une fonction personnalisée qui pourra t’être utile
VB:
Function LeNom(GrandNom)
For n = Len(GrandNom) To 1 Step -1
If Mid(GrandNom, n, 1) = "." Then a = n
If Mid(GrandNom, n, 1) = "_" Then
    b = n
    LeNom = Mid(GrandNom, b + 1, a - b - 1)
    Exit Function
End If
Next
End Function
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 892
Membres
101 831
dernier inscrit
gillec