XL 2016 Supprimer dernier caractère de cellule.

Etoto

XLDnaute Barbatruc
Bonjour,

Est ce que quelqu'un pourrais créer une fonction grâce au VBA qui supprime automatiquement le dernier caractère d'une cellule ?

Merci d'avance
 
Solution
Re,
Expliqué comme ça c'est plus simple.
Pourquoi ne pas modifier la macro de Staple pour supprimer le dernier caractère :
VB:
Function PREMLETTRE(S$, Optional casse As VbStrConv) As String
Dim mc As Object, m As Object
With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "\b\w"
    If .test(S) = True Then
        Set mc = .Execute(S)
        For Each m In mc
            PREMLETTRE = StrConv(PREMLETTRE & m, casse) & "."
            Next m
        End If
        PREMLETTRE = Left(PREMLETTRE, Len(PREMLETTRE) - 1)
End With
End Function

Dudu2

XLDnaute Barbatruc
Bonjour @Magic_Doctor

Des fonctions à vocation d'utilitaire, je dois en avoir fait un bon paquet. Il y en a probablement qui sont redondantes avec des publications de la banque dont tu parles.

La dernière en date, pas plus tard qu'hier, pour saisir une cellule avec une liste de validation via ComboBox dynamique sur PC Astuces. pour des cas particuliers de font de caractères (ou autres) non couvert par la validation de données.

En fait je ne sais pas comment procéder pour ce type de publication. Je ne m'y suis pas encore intéressé pour l'instant.
 

Magic_Doctor

XLDnaute Barbatruc
Re,

Pour publier une fonction personnalisée, c'est on ne peut plus simple :
1/ Tu vas à : "Partager des fonctions personnalisées, est ce utile?
Tout à fait en haut de la page du forum Excel.
2/ Ensuite tu vas à : Fonctions personnalisées (Lambda & VBA)
3/ Tu n'as plus qu'à créer ton fil en choisisssant bien dans la liste déroulante à gauche (Aucun préfixe) la catégorie à laquelle appartient ta fonction.

Quant aux fonctions redondantes, tèn fais pas, elles seront fatalement identifiées et pourront être éventuellement éliminées, à moins, bien sûr, qu'elles apportent un plus.
Enfin, les fonctions, c'est comme les fous : au plus il y en a... Donc, je pense qu'il ne faut pas se priver d'enrichir cette banque de fonctions.
 

soan

XLDnaute Barbatruc
Inactif
Bonsoir mapomme, le fil,

j'ai pensé que c'était suffisant, de traiter des chaînes dont la longueur va jusqu'à 255 caractères ; pour ceux qui veulent traiter des chaînes plus longues, il suffit d'utiliser à la place le type Integer (caractère de type "%") :​

VB:
Function SDC(chn$) As String
  Dim n%: n = Len(chn)
  If n > 0 Then SDC = Left$(chn, n - 1)
End Function

soan
 

Dudu2

XLDnaute Barbatruc
@Magic_Doctor,
Voilà, j'ai fait la publication de la fonction, légèrement enrichie.

Il semble que cette bibliothèque soit destinée aux "fonctions personnalisées" (celles qu'on appelle de la feuille).
Je me demande si on peut aussi y placer des fonctions VBA générales exécutant des actions spécifiques.
 

Magic_Doctor

XLDnaute Barbatruc
@Magic_Doctor,
Voilà, j'ai fait la publication de la fonction, légèrement enrichie.

Il semble que cette bibliothèque soit destinée aux "fonctions personnalisées" (celles qu'on appelle de la feuille).
Je me demande si on peut aussi y placer des fonctions VBA générales exécutant des actions spécifiques.
Re,

C'est un sujet qu'avait soumis job75 à David. Je pense que, fatalement, nombre de "Sub" finiront dans une rubrique dédiée.
 

Discussions similaires

Réponses
5
Affichages
353
Réponses
20
Affichages
662

Statistiques des forums

Discussions
315 123
Messages
2 116 458
Membres
112 747
dernier inscrit
Boudiou