Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer le point et l'extention de noms de fichiers

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Boby71C

XLDnaute Impliqué
Bonsoir à tous

J'ai réussis à importer les références de fichiers pdf et tif de la totalité d'un répertoire dans un fichier excel.

Ces références sont à 6, voir 10 caractères avant le .pdf ou .tif

Auriez vous une formule ou un code pour supprimer les .pdf et .tif car pour l'instant, j'ai une liste de 14512 lignes qui ne fera que augmenter à chaque mise à jours.

Merci pour votre aide.
 
Re : Supprimer le point et l'extention de noms de fichiers

Bonsoir

Code:
[font=Courier New][color=darkblue]Sub[/color] test()
s = "C:\toto.xls"
MsgBox Left(s, Len(s) - 4)
[color=darkblue]End[/color] [color=darkblue]Sub[/color][/font]
 
Re : Supprimer le point et l'extention de noms de fichiers

Bonsoir à vous
Merci pour votre participation.

Pour Staple, je ne désir pas enlever les extentions dans un répèrtoire, mais dans une liste excel, donc ça ne fonctionne pas.

Pour Hasco, voici le code, qui n'est pas de moi, je l'ai adapté à mon besoin et il fonctionne très bien.

Code:
Sub TestListFilesInFolder()
Dim RootFolder$

  ' choix du dossier à scanner
  RootFolder = ChoisirDossier
  If RootFolder = "" Then Exit Sub
  
  Sheets("Feuil2").Select

  With Range("A1")
    .Formula = " Contenu du dossier : " & RootFolder
    .Font.Bold = True
    .Font.Size = 12
  End With

  Range("A3").Formula = "Chemin : "
  Range("B3").Formula = "Nom : "
  Range("C3").Formula = "Date Création : "
  Range("D3").Formula = "Date Dernier Accès : "
  Range("E3").Formula = "Date Dernière Modif : "
  
  With Range("A3:E3")
    .Font.Bold = True
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    .WrapText = True
  End With
  
  ListFilesInFolder RootFolder, True
  
  Columns("A:H").AutoFit

End Sub

Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean)
' listes les information du dossier choisis

Dim FSO 'As Scripting.FileSystemObject
Dim SourceFolder 'As Scripting.Folder
Dim SubFolder 'As Scripting.Folder
Dim FileItem 'As Scripting.File
Dim r As Long

  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set SourceFolder = FSO.GetFolder(SourceFolderName)
  r = Range("A65536").End(xlUp).Row + 1

  For Each FileItem In SourceFolder.Files
    Cells(r, 1).Formula = FileItem.ParentFolder
    Cells(r, 2).Formula = FileItem.Name
    Cells(r, 3).Formula = FileItem.DateCreated
    Cells(r, 3).NumberFormatLocal = "jj/mm/aa"
    Cells(r, 4).Formula = FileItem.DateLastAccessed
    Cells(r, 5).Formula = FileItem.DateLastModified
    Cells(r, 5).NumberFormatLocal = "jj/mm/aa"
    r = r + 1
  Next FileItem

  If IncludeSubfolders Then
    For Each SubFolder In SourceFolder.SubFolders
      ListFilesInFolder SubFolder.Path, True
    Next SubFolder
  End If

  Set FileItem = Nothing
  Set SourceFolder = Nothing
  Set FSO = Nothing

Extract_Six_Prem_Chiffres
End Sub

Private Function ChoisirDossier()
Dim objShell, objFolder, chemin, SecuriteSlash
                                            
    Set objShell = CreateObject("Shell.Application")
    Set objFolder = _
        objShell.BrowseForFolder(&H0&, "Choisisser un répertoire", &H1&)
    On Error Resume Next
    chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
    If objFolder.Title = "Bureau" Then
        chemin = "C:\Windows\Bureau"
    End If
    If objFolder.Title = "" Then
        chemin = ""
    End If

    SecuriteSlash = InStr(objFolder.Title, ":")

    If SecuriteSlash > 0 Then
        chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""
    End If
    ChoisirDossier = chemin
End Function

Bonne soirée
 
Dernière édition:
Re : Supprimer le point et l'extention de noms de fichiers

Re,

Mon ami Staple avait raison, avec ce qu'il t'a donné tu aurais pu trouver.

remplace la ligne:

Code:
Cells(r, 2).Formula = FileItem.Name
Par

Code:
Cells(r, 2).Formula = Left(FileItem.Name, Len(FileItem.Name) - 4)

A+
 
Re : Supprimer le point et l'extention de noms de fichiers

Re

EDITION
et comme je suis pas rancunier
voila une solution que je prefère

Cells(r, 2).Formula = Split(FileItem.Name, ".")(0)

Boby71C

Hasco m'a devancé voila ce que jallais t'écrire

Code:
For Each FileItem In SourceFolder.Files
Cells(r, 1).Formula = FileItem.ParentFolder
Cells(r, 2).Formula = [COLOR=Blue][B]Left(FileItem.Name, Len(FileItem.Name) - 4)[/B][/COLOR]
Cells(r, 3).Formula = FileItem.DateCreated
Cells(r, 3).NumberFormatLocal = "jj/mm/aa"
Cells(r, 4).Formula = FileItem.DateLastAccessed
Cells(r, 5).Formula = FileItem.DateLastModified
Cells(r, 5).NumberFormatLocal = "jj/mm/aa"
r = r + 1
Next FileItem
 
Dernière édition:
Re : Supprimer le point et l'extention de noms de fichiers

Bonsoir,

tu peux aussi utiliser les outils de FSO :
fso.GetBaseName(fileitem)
fso.GetExtensionName(fileitem)
tu évites ainsi les soucis d'extension de plus de 3 caractères.

cdlt
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…