Fonction Excel inversion de texte

Résolu
zoslex
Messages postés
18
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
14 mars 2006
- 27 sept. 2005 à 11:23
 kendavros - 10 mars 2013 à 17:37
Bonjour,

Je cherche à créer une fonction sous Excel dans l'objectif d'inverser une chaîne de caractère. Exemple : "azerty" => "ytreza".

La fonction CHERCHER recherche un caractère de la gauche vers le droite dans Excel. Existe-il l'équivalant de droite à gauche ?

Merci d'avance,

ZosleX

5 réponses

cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
27 sept. 2005 à 12:07
Salut,
A défaut de connaitre une formule sous Excel voici une petite fonction perso à mettre dans l'éditeur de code de ta feuille ou classeur excel peut importe

Exemple d'utilsation: MsgBox InverseChars("abcdefghijklmnopqrstuvwxyz")


Public Function InverseChars(MaChaine As String) As String


Dim sTmp As String
Dim i As Integer

For i = 0 To Len(MaChaine) - 1
sTmp = sTmp & Mid$(MaChaine, Len(MaChaine) - i, 1)
Next

InverseChars = sTmp

End Function


Si la réponse te conviens merci de l'accepter
3
jpleroisse
Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
27
27 sept. 2005 à 15:21
Bonjour,

Voici la Function Inverser.Pour l'utiliser, tu place du texte (par
exemple en A1, A2) et en B1 tu mets =Inverser(A1), en B2
=Inverser(A2) etc...



Function Inverser(ChaineDepart) As String

' Retourne son argument, inversé

Dim i As Integer, LongueurChaine As Integer

Inverser = ""

LongueurChaine = Len(ChaineDepart)

For i = LongueurChaine To 1 Step -1

Inverser = Inverser & Mid(ChaineDepart, i, 1)

Next i

End Function



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
3
zoslex
Messages postés
18
Date d'inscription
mardi 27 mai 2003
Statut
Membre
Dernière intervention
14 mars 2006

27 sept. 2005 à 21:58
Merci.

La réponse donnée par jpleroisse est environ 20% plus rapide que celle de Willi.

ZosleX
0
cs_Willi
Messages postés
2375
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
22
27 sept. 2005 à 22:27
Je pense que cela vient de la
jpleroisse part directement de la fin de la chaine et ne calcule qu'une seule fois sa longeur
alors que moi dans ma boucle je recherche à chaque fois la longeur de ma chaine que je soustrait à i
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
VB dans Excel 2010

Function Inverser(ByVal Chaine$)
Inverser = StrReverse(Chaine)
End Function

... pour la mémoire des générations futures

Kendavros
0