Transformer des lettres en chiffres et inversement
Résolu/Fermé
progr
Messages postés
5
Date d'inscription
mardi 11 novembre 2014
Statut
Membre
Dernière intervention
26 novembre 2014
-
Modifié par KX le 11/11/2014 à 14:06
progr Messages postés 5 Date d'inscription mardi 11 novembre 2014 Statut Membre Dernière intervention 26 novembre 2014 - 11 nov. 2014 à 20:07
progr Messages postés 5 Date d'inscription mardi 11 novembre 2014 Statut Membre Dernière intervention 26 novembre 2014 - 11 nov. 2014 à 20:07
A voir également:
- Transformer des lettres en chiffres et inversement
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Transformer majuscule en minuscule - Guide
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
- Toutes les combinaisons possibles avec 3 chiffres ✓ - Forum Programmation
5 réponses
ccm81
Messages postés
10851
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
16 avril 2024
2 404
11 nov. 2014 à 14:26
11 nov. 2014 à 14:26
Bonjour
Cdlmnt
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
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par PlacageGranby le 11/11/2014 à 14:58
Modifié par PlacageGranby le 11/11/2014 à 14:58
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
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
progr
Messages postés
5
Date d'inscription
mardi 11 novembre 2014
Statut
Membre
Dernière intervention
26 novembre 2014
11 nov. 2014 à 19:28
11 nov. 2014 à 19:28
Merci beaucoup pour vos réponses ^^.
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
11 nov. 2014 à 19:44
11 nov. 2014 à 19:44
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é.
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
progr
Messages postés
5
Date d'inscription
mardi 11 novembre 2014
Statut
Membre
Dernière intervention
26 novembre 2014
11 nov. 2014 à 20:07
11 nov. 2014 à 20:07
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.
Merci encore pour vos réponses j'ai réussi à finir mon mini programme.