Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Bonjour et merci.
En une seule fonction bravo.
Moi qui cherhcais en deux étapes !!!

j'ai encore beaucoup d'apprentissage devant moi

merci de votre aide
 
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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…