Transformer des lettres en chiffres et inversement
Résolu
progr
Messages postés
5
Statut
Membre
-
progr Messages postés 5 Statut Membre -
progr Messages postés 5 Statut Membre -
Bonjour,
j'aimerais pouvoir créer un programme en VBS qui me permet de transformer les lettres en chiffres et inversement. En clair je veux créer un système de hash. J'ai déjà essayé quelque lignes de code mais cela n'affichait pas le msgbox qui disait le resultat.
Bien sur j'aurais plus de if(lettrenumero1).
Merci d'avance pour vos réponse ^^.
j'aimerais pouvoir créer un programme en VBS qui me permet de transformer les lettres en chiffres et inversement. En clair je veux créer un système de hash. J'ai déjà essayé quelque lignes de code mais cela n'affichait pas le msgbox qui disait le resultat.
dim lettrenumero1
dim reponseo1
dim motdepasse
lettrenumero1 = inputbox (" Tape ta lettre ")
if (lettrenumero1 = "z" )then
reponseo1 = 2
if (lettrenumero1 = "a" )then
reponseo1 = 4
msgbox (" Voici "& reponseo1 &" et voila ")
else
end if
end if
Bien sur j'aurais plus de if(lettrenumero1).
Merci d'avance pour vos réponse ^^.
5 réponses
-
Bonjour
Dim lettrenumero1 As String
Dim reponseo1 As Long
Dim motdepasse As String
lettrenumero1 = InputBox(" Tape ta lettre ")
Select Case lettrenumero1
Case "a": reponseo1 = 4
Case "b": reponseo1 = 6
Case "c": reponseo1 = 8
' etc
End Select
MsgBox (" Voici " & reponseo1 & " et voila ")
Cdlmnt -
Comme ccm81 l'indique, un select case sera beaucoup plus élégant.
L'erreur dans ton code original, si la lettre de ton inputbox était un a, donc il n'entre pas dans ta première condition if, et si c'était un z, il entre dans le premier if, mais ne passe pas la condition du deuxième.
Donc ton msgbox qui est à l'intérieur du 2ieme if, ne peut jamais jamais afficher car il faudrait que la lettre soit un a et également un z.
Quand tu veux imbriquer des if pour la même variable, tu dois utiliser elseif :
if (lettrenumero1 = "z" )then
reponseo1 = 2
elseif (lettrenumero1 = "a" )then
reponseo1 = 4
elseif .....
end if
Ci joint, un petit cours sur les conditions en VBA.
Tu y retrouve les IF, les IF imbriqués et tout en bas, les SELECT CASE, comme ccm81 l'a suggéré.
https://www.excel-pratique.com/fr/vba/conditions.php
Bonne lecture -
-
Me permettre une suggestion.
Si on entre autre chose qu'une lettre, le msgbox s'affichie quand même et reponse01 égale sa valeur par défaut.
Case else va permettre de gérer une valeur non désiré.
Dim lettrenumero1 As String Dim reponseo1 As Long Dim motdepasse As String Dim erreur As Boolean erreur = False lettrenumero1 = InputBox(" Tape ta lettre ") Select Case lettrenumero1 Case "a": reponseo1 = 4 Case "b": reponseo1 = 6 Case "c": reponseo1 = 8 ' etc Case Else: erreur = True End Select If erreur = False Then MsgBox (" Voici " & reponseo1 & " et voila ") Else MsgBox ("Erreur dans l'inputbox de saisie, tappez une lettre seulement") End If -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Aucun problème pour cela, j'utilise des chiffres et des lettres donc il ne peut y'avoir de réponse sans valeur. Sinon les règles de VBA s'applique pour le VBS ?
Merci encore pour vos réponses j'ai réussi à finir mon mini programme.