OVH Cloud OVH Cloud

Initiales VBA

5 réponses
Avatar
Michael
Bonjour a tous

J'ai quelque chose de la forme Martin.Jacques / Washington.Georges
en bref Nom.Prenom / Nom2.Prenom2
et j'aimerai grace à un code ne recuperer que les
initiales sous la forme : M.J / W.G

Quelqu'un a une idée ?
Merci

5 réponses

Avatar
SL
Bonjour

en A1 : Martin.Jacques / Washington.Georges

en B1 : =STXT(A1;1;1)&STXT(A1;TROUVE(".";A1);2)&STXT(A1;TROUVE("
";A1);4)&STXT(A1;TROUVE(".";A1;TROUVE(".";A1)+1);2)
donnera M.J / W.G

on prend le 1er caractère, on cherche le point et on prend 2 caractères, on
cherche l'espace et on prend 4 caractères, on cherche de 2d point et on
prend 2 caractères

est-ce ça que tu souhaites ?

Stéphane


"Michael" a écrit dans le message de news:
O%234u21%

Bonjour a tous

J'ai quelque chose de la forme Martin.Jacques / Washington.Georges
en bref Nom.Prenom / Nom2.Prenom2
et j'aimerai grace à un code ne recuperer que les
initiales sous la forme : M.J / W.G

Quelqu'un a une idée ?
Merci





Avatar
Jacques93
Bonjour Michael,

En VBA :

Dim s1 As String, s2 As String
Dim i As Integer

s1 = "Martin.Jacques / Washington.Georges"
For i = 1 To Len(s1)
Select Case Mid(s1, i, 1)
Case "A" To "Z", "/", ".", " "
s2 = s2 & Mid(s1, i, 1)
End Select
Next i
MsgBox s2


Bonjour a tous

J'ai quelque chose de la forme Martin.Jacques / Washington.Georges
en bref Nom.Prenom / Nom2.Prenom2
et j'aimerai grace à un code ne recuperer que les
initiales sous la forme : M.J / W.G

Quelqu'un a une idée ?
Merci






--
Cordialement,

Jacques.

Avatar
Ange Ounis
En VBA :

Function Initiales(cell)
Dim Nom1$, Nom2$, Initiales1$, Initiales2$

'les noms complets
Nom1 = Split(cell, " / ")(0)
Nom2 = Split(cell, " / ")(1)
'les initiales
Initiales1 = Left(Split(Nom1, ".")(0), 1) & "." & _
Left(Split(Nom1, ".")(1), 1)
Initiales2 = Left(Split(Nom2, ".")(0), 1) & "." & _
Left(Split(Nom2, ".")(1), 1)
'le résultat
Initiales = Initiales1 & " / " & Initiales2

End Function

(utilisable dans une feuille de calcul si tes données y sont stockées)

----------
Ange Ounis
----------


Bonjour a tous

J'ai quelque chose de la forme Martin.Jacques / Washington.Georges
en bref Nom.Prenom / Nom2.Prenom2
et j'aimerai grace à un code ne recuperer que les
initiales sous la forme : M.J / W.G

Quelqu'un a une idée ?
Merci





Avatar
Michael
Merci à tous pour la mobilisation !

J'en ai plus qu'il ne m'en faut et maintenant l'embarras du choix !

Merci encore.
Impeccable
Avatar
Modeste
Bonsour®
Michael wrote:
et j'aimerai grace à un code ne recuperer que les
initiales sous la forme : M.J / W.G


John.Fitzgerald.Kennedy.Junior / Washington.Georges
???
J.F.K.J / W.G

Function Initiales(target)
Application.Volatile
Dim minus$, i!
'---mettre ici les caractères à éliminer
minus$ = "abcdefghijklmnopqrstuvwxyz"
Initiales = target
For i! = 1 To Len(minus$)
Initiales = Application.Substitute(Initiales, Mid(minus$, i!, 1), "")
Next
End Function


Quelqu'un a une idée ?
Merci


--
n'oubliez pas les FAQ :
http://www.excelabo.net http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
--
Feed Back
http://viadresse.com/?94912042