Compter le nombre de caracteres dans le titre de plusieurs fichiers

Bonjour à tous,

j'espère que vous passez ou avez passé de bonnes vacances pour ceux qui ont eu la chance d'avoir.

Voila j'ai besoin de créer une macro qui irait dans un répertoire quelconque, on va dire "C:\" et je peux avoir jusqu'à 100 fichiers. Le problème c'est que j'ai besoin de vérifier si chaque fichier ne dépasse un certain monbre de caractères, maximum 57 caractères sans compter l'extension ".xls".

Pour les fichiers qui ferraient plus que 57 caractères, j'aurai besoin d'avoir la liste soit sur une pop-up, soit dans un onglet qui serait créer pour ça.

Voila j'espère que c'est possible, et merci par avance pour votre aide !

Bien amicalement,

Laurent

Bonjour,

une proposition via une macro

Sub aargh()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "Veuillez choisir un répertoire"
        .Filters.Clear
        If .Show = True Then
            rep = .SelectedItems(1)
        Else
            MsgBox "pas de répertoire sélectionné"
            Exit Sub
        End If
    End With
    With Sheets("feuil1") '<- à adapter feuille qui recevra la liste des fichiers > 57
        fn = Dir(rep & "\*.xls")
        While fn <> ""
            l = Len(fn) - 4
            If l > 57 Then
                ctr = ctr + 1
                .Cells(ctr, 1) = fn
            End If
            fn = Dir()
        Wend
        If ctr = 0 Then MsgBox "aucun nom de fichier > 57 caractères"
    End With
End Sub

salut H2S04,

woua, impressionné, tu as été super vite ! Merci pour ça !

en revanche, je viens d'essayer, et que je sélectionne le repertoire ou se trouve mes fichiers, je n'ai aucun fichier qui apparait ... pourtant en passant par l'explorateur, je les vois... bizarre

Merci par avance pour ton retour.

Bonjour,

il n'y a que les fichiers avec extension .xls pas (xlsm ou xlsx), s'il faut les inclure la macro doit être adaptée.

voici une adaptation

Sub aargh()
    With Application.FileDialog(msoFileDialogFolderPicker)
        .AllowMultiSelect = False
        .Title = "Veuillez choisir un répertoire"
        .Filters.Clear
        If .Show = True Then
            rep = .SelectedItems(1)
        Else
            MsgBox "pas de répertoire sélectionné"
            Exit Sub
        End If
    End With
    With Sheets("feuil1")    '<- à adapter feuille qui recevra la liste des fichiers > 57
        fn = Dir(rep & "\*.xls*")
        While fn <> ""
            fse = Left(fn, InStr(UCase(fn), UCase(".xls")) - 1)
            l = Len(fse)
            If l > 57 Then
                ctr = ctr + 1
                .Cells(ctr, 1) = fn
            End If
            fn = Dir()
        Wend
        If ctr = 0 Then MsgBox "aucun nom de fichier > 57 caractères"
    End With
End Sub

oui c'est bien des fichiers xls uniquement, mais pour le moment dans la macro ils ne ressortent pas dans le repertoire que je sélectionne une fois la fenetre ouverte

bonjour

reçois-tu le message "aucun nom de fichier trouvé >57 caractères" ?

oui, mais le problème vient pas de la ...

lorsque la macro s'execute, on a la fenetre d'ouverture qui apparait et on doit sélectionner le répertoire.

C'est à ce moment là, que ça pose problème, car une fois le répertoire selectionner, on est à l'interieur du répertoire, et je n'ai aucun fichier qui apparait ... c'est ça le problème ... alors que j'ai plein de fichiers XLS

donc le souci est avant la fenetre de résultat

je viens de comprendre, et ça fonctionne, en fait on ne voit pas les fichiers dans la fenêtre qui s'ouvre, on sélectionne le répertoire, mais pas les fichiers

Navré, du coup tout marche du feu de dieu !!!

Merci pour ton aide précieuse et du coup pour ta patience ... mdr

je clos ma demande

Bye

Rechercher des sujets similaires à "compter nombre caracteres titre fichiers"