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.
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.