Inversion de lettres puis inversion de mots

  • Initiateur de la discussion Initiateur de la discussion clardica
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

clardica

Guest
Bonjour à tous
J'essaye de résoudre la problématique suivante :
A partir d'une phrase : Les sanglots longs des violons de l'automne blessent
je souhaites obtenir ceci : seL stolgnas sgnol sed snoloiv ed enmotua'l tnesselb
En code j'ai créé une fonction :
Code:
Function ReverseText(text) As String
Dim TextLen As Integer
Dim i As Integer
TextLen = Len(text)
For i = TextLen To 1 Step -1
ReverseText = ReverseText & Mid(text, i, 1)
Next i
End Function
Grâce à ça j'obtiens : enmotua'l ed snoloiv sed sgnol stolgnas seL
Pas mal 🙂
Mais maintenant je n'arrive pas à inverser la liste, je dois faire des erreurs quelque part. J'ai fais une commande
Code:
=DROITE(A7;NBCAR(A7)-CHERCHE(" ";A7))&" "&GAUCHE(A7;CHERCHE(" ";A7)-1)
, mais ce n'est pas suffisant.
Quelqu'un peut-il m'aider ?
Merci par avance
 
Re : Inversion de lettres puis inversion de mots

Bonjour clardica
Essayez ceci :
Code:
[COLOR="DarkSlateGray"]Function ReverseMot(text) As String
Dim sText As String
Dim i As Integer, k As Integer
Dim sp
   sp = Split(text)
   For k = 0 To UBound(sp)
      sText = sp(k)
      For i = Len(sText) To 1 Step -1
         ReverseMot = ReverseMot & Mid(sText, i, 1)
      Next i
      ReverseMot = ReverseMot & " "
   Next k
   ReverseMot = Left$(ReverseMot, Len(ReverseMot) - 1)
End Function[/COLOR]
ROGER2327
 
Re : Inversion de lettres puis inversion de mots

Re...
On peut faire plus court en utilisant la fonction que vous avez écrite :
Code:
[COLOR="DarkSlateGray"]Function ReverseMot(text) As String
Dim k As Integer
Dim sp
   sp = Split(text)
   For k = 0 To UBound(sp)
      ReverseMot = ReverseMot & ReverseText(sp(k)) & " "
   Next k
   ReverseMot = Left$(ReverseMot, Len(ReverseMot) - 1)
End Function[/COLOR]
Bonne journée.
ROGER2327
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour