Fonction Excel inversion de texte [Résolu]

zoslex 18 Messages postés mardi 27 mai 2003Date d'inscription 14 mars 2006 Dernière intervention - 27 sept. 2005 à 11:23 - Dernière réponse :  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
Afficher la suite 

5 réponses

cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscriptionModérateurStatut 13 février 2015 Dernière intervention - 27 sept. 2005 à 12:07
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
jpleroisse 1788 Messages postés mardi 7 novembre 2000Date d'inscription 11 mars 2006 Dernière intervention - 27 sept. 2005 à 15:21
+3
Utile
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.
Cette réponse vous a-t-elle aidé ?  
zoslex 18 Messages postés mardi 27 mai 2003Date d'inscription 14 mars 2006 Dernière intervention - 27 sept. 2005 à 21:58
0
Utile
Merci.

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

ZosleX
cs_Willi 2381 Messages postés jeudi 12 juillet 2001Date d'inscriptionModérateurStatut 13 février 2015 Dernière intervention - 27 sept. 2005 à 22:27
0
Utile
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
kendavros - 10 mars 2013 à 17:37
0
Utile
VB dans Excel 2010

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

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

Kendavros

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.