Astuce VBA : inverser une chaîne de caractères
Pour inverser une chaîne de caractères en VBA, inutile de chercher à le faire manuellement en utilisant une boucle car une fonction existe déjà pour cela !
Il s'agit de la fonction StrReverse.
Utilisation :
StrReverse(texte)
Exemple simple d'inversion
Inversion d'un prénom en utilisant la fonction StrReverse :
Sub inversion()
prenom = "Jean-Michel" 'Valeur : Jean-Michel
inverse = StrReverse(prenom) 'Valeur : lehciM-naeJ
End Sub
Fonction palindrome
Un palindrome est un mot ou un groupe de mots qui peut se lire indépendamment dans les 2 sens.
Pour tester si une chaîne de caractères est un palindrome, il suffit donc de vérifier si sa valeur est égale à sa valeur inversée.
Voici donc une fonction simple qui permet de tester cela et renvoie True si c'est un palindrome ou False si ce n'est pas le cas :
Function palindrome(valeur)
palindrome = StrReverse(valeur) = valeur
End Function
Si vous souhaitez utiliser cette fonction sur une feuille Excel, utilisez plutôt cette version (et placez-la dans un module) :
Function PALINDROME(valeur)
Application.Volatile
PALINDROME = StrReverse(valeur) = valeur
End Function
