Extraire la première lettre de plusieurs mots

bonjour

existe t 'il une formule qui puisse me permettre d'extraire la première lettre d'un texte

j'ai dans une cellule A1 le texte suivant "Promotionnelle Libre Vétéran" je voudrais en A2 "PLV"

merci par avance

Bonjour,

Une proposition avec une fonction personnalisée (VBA).

Cette fonction s'utilise comme une fonction de feuille de calcul.

A te relire.

Cdlt.

Public Function Acronyme(Cellule As String) As String
Dim TextLen As Long, i As Long
Cellule = Application.Trim(Cellule)
TextLen = Len(Cellule)
Acronyme = Left(Cellule, 1)
For i = 2 To TextLen
  If Mid(Cellule, i, 1) = Chr(32) Then
      Acronyme = Acronyme & Mid(Cellule, i + 1, 1)
  End If
Next i
Acronyme = UCase(Acronyme)
End Function

Bonjour phil107, le forum,

je te retourne ton fichier modifié :

97exo-phil107.xlsm (13.80 Ko)

Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Bonjour,

une variante de la fonction de Jean-Eric

Function Acronyme(Cellule As String) As String
Tbl = Split(Cellule, " ")
Acronyme = ""
For i = LBound(Tbl) To UBound(Tbl)
    Acronyme = Acronyme & UCase(Left(Tbl(i), 1))
Next
End Function

salut Steelson,

t'as utilisé le Split(), toi aussi ? moi aussi, j'aime bien :

https://www.youtube.com/watch?v=bsqLi9LfiwM


si tu télécharges le fichier de mon post de 00:45, tu y verras ce code VBA :

Option Explicit

Function Initiales(txt$) As String
  If txt = "" Then Exit Function
  Dim Tbl, chn$, i: Tbl = Split(txt)
  For i = 0 To UBound(Tbl)
    chn = chn & Left$(Tbl(i), 1)
  Next i
  Initiales = UCase$(chn)
End Function

j'ai pas compris pourquoi Jean-Eric a pas utilisé Split() alors qu'il connaît ce mot-clé ?

mais comme lui, j'ai utilisé UCase$() pour la chaîne entière plutôt que lettre par lettre.

dhany

Bonjour,

J'ai gardé un vieux fichier (nommé pense-bête) crée il y a bien longtemps. Il répertorie un ensemble de petites fonctions (utiles).

Quand j'écris vieux, il date, pas de 1970, puisque l'on travaillait encore avec le boulier, la feuille de papier et le crayon.

Pourquoi ne pas avoir utilisé la fonction Split ? Je crois qu'elle n'existait pas à l'époque (mais j'écris peut-être une connerie).

Cdlt.

salut Steelson,

t'as utilisé le Split(), toi aussi ? moi aussi, j'aime bien :

Ben si j'avais su, je n'aurais pas posté inutilement !

Mais je n'aime pas les pièces jointes, il faut faire des efforts pour charger le fichier, le lancer, afficher VBA, fermer, refuser la sauvegarde puis supprimer le fichier, ensuite mettre un coup de ccleaner ... donc j'aime bien lire le code en direct sur le post, voilà pourquoi je ne l'ai pas téléchargé avant de poster ! D'ailleurs, il n'est toujours pas téléchargé !!

Merci à tous pour votre aide

Bonsoir Steelson,

[quote="dans ton post de 09:05, tu"]Ben si j'avais su, je n'aurais pas posté inutilement ! ... D'ailleurs, il n'est toujours pas téléchargé !![/quote]

ben moi aussi, j'ai posté inutilement, car même actuellement, à 21:30 :

screen

mais p't'être que phil107 s'est juste contenté de lire mon code VBA du post de 04:22 ?

en tout cas, il n'a toujours pas passé son sujet en résolu ; alors à tout hasard :

@phil107

pour passer le sujet en résolu, il suffit de cliquer sur le bouton près de (regarde dans le coin haut droit du post) ; ça permet aussi de clôturer le fil de la discussion ; tu sauras que tu as réussi quand tu verras un petit rond vert avec une coche, comme ceci :

sujet

(toi seul peut le faire, car c'est toi qui a créé ce sujet)

dhany

Rechercher des sujets similaires à "extraire premiere lettre mots"