Chaîne de caractères et palindrome

Bonjour

je recontre un probleme avec un bout de code assez simple que je redige dont le but est de determiner si un nombre est un palindrone , voici le code :

Sub date_palindrome()
verif_palindrome (26071762)   'valeur à tester via la fonction "verfi_palindrome" ecrite plus bas 
End Sub
Function verif_palindrome(x As Variant) As Boolean
For i = Len(x) To 1 Step -1
 s = s & Mid(x, i, 1)   'le soucis est ici  la variable s  me retourne la suite 2671762  ! le "0" est manquant ...
Next
q = x
r = Val(s)
If q = r Then
verif_palindrome = True
End If

End Function

dans ce code j'indique la ligne ou ca cloche à savoir la variable s me retourne 2671762 au lieu de 26071762 , je ne m'explique pas le fait que le "0" n'ai pas été pri en compte , j'ai pourtant fait passer x en string , en long et en variant c'est toujours le cas

Auriez vous une explication à cette "enigme " ?

Merci a vous

Bonjour Rocket4

Pour commencer, on ne t'a jamais dis de définir tes variables au préalable

A+

Bonjour,

je ne parviens pas à reproduire ton souci !

pour moi s contient bien le 0

Rocket4

Si tu veux avoir un palindrome, alors il faut utiliser : verif_palindrome (260717062)

A+

Bonjour,

Tu peux nettement simplifier ta fonction :

Function palindrome(x)
    palindrome = IIf(StrReverse(x) = x, True, False)
End Function

Ce qui donne (juste pour l'exemple, car pas de Application.Volatile) :

palindrome

https://www.excel-pratique.com/fr/astuces_vba/vba-inverser-chaine-caracteres

Cordialement,

Merci Sebastien et a tout les autres intervenants , je vais regarder tout cela de prés ...Un grand merci

Rechercher des sujets similaires à "chaine caracteres palindrome"