Récuperer nom de l' En-tête sans les caractères spéciaux

Bonjour à tous,

Je vous joint un exemple de fichier

Le vrai fichier contient plusieurs onglets assez lourd.

Afin d'éviter de l'ouvrir trop souvent pour chercher des infos , car besoin rapidement

J'aimerais utiliser le nom de l'En-tête de faire une capture d'écran (par ma macro) et de l'enregistrer en JPG (je pense ne pas avoir de problème de ce coté)

Mon problème est que je voudrais récupérer le nom de cette maudite En-tête , mais seulement il me donne des caractères un peu spéciaux

Dans mon fichier : Bonjour à tous &A

D'un onglet à un autre les caractères changent ex: Pièce &[Onglet]

Merci pour votre aide

7mamacro.xlsm (19.29 Ko)

Bonjour,

Vous pouvez utiliser la fonction ci-dessous pour remplacer vos caractères spéciaux par des tirets (ou autre caractère admis dans un nom de fichier)

Function supp_car_spéciaux(chaîne As String) As String
    'cocher la référence : Microsoft VBScript Regular Expressions 5.5
    Dim Rgex As Object
    Set Rgex = CreateObject("vbscript.regexp")
    With Rgex
        .Global = True         ' Définit le champ d'application.
        .IgnoreCase = True     ' Ignore la casse.
        .Pattern = "[^A-Z0-9]" ' non A à Z et 0 à 9
        supp_car_spéciaux = .Replace(chaîne, "-")
    End With
    Set Rgex = Nothing

End Function

Merci Thev

Je vais essayer ;)

Une modification du "Pattern" si vous voulez conserver les accents et les espaces dans le nom de vos fichiers

        .Pattern = "[^A-Z0-9àéù\s]" ' ni A à Z, ni 0 à 9, ni accents, ni espace
Rechercher des sujets similaires à "recuperer nom tete caracteres speciaux"