[VBA] If/then débutant

If/then débutant [VBA] - VB/VBA/VBS - Programmation

Marsh Posté le 30-10-2010 à 23:45:33    

Question de débutant :
 
J'ai une macro toute simple  
 
Sub Jour()
 
Dim Jour
 
Jour = InputBox("Quel jour est-on ?", "Jour" )
 
If "Jour" = Lundi And Mardi And Mercredi And Jeudi And Vendredi Then MsgBox ("Super" ) Else MsgBox ("Pas super" )
 
End Sub
 
Ce que je ne comprends pas c'est que quelque soit le jour que je rentre, j'ai à chaque fois la réponse "pas super".
 
Une idée d'où serait susceptible de venir le problème ?

Reply

Marsh Posté le 30-10-2010 à 23:45:33   

Reply

Marsh Posté le 31-10-2010 à 11:55:02    

Ton jour ne peut pas être Lundi ET Mardi à la fois : essaye avec des Or plutôt que des And.


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 02-11-2010 à 18:57:48    

Ce que dit freds plus le fait que dans ton if, tu vérifies si la chaine "Jour" est égale à Lundi, Mardi etc, alors que ce que tu veux faire, c'est vérifier si le contenu de ta variable Jour est égale aux jours listés (faut que tu vires les guillemets donc)

Reply

Marsh Posté le 02-11-2010 à 19:11:52    

Merci de vos réponses. J'ai essayé en intégrant vos modifications, ça donne donc :  
 
Sub Jour()
 
Dim Jour
 
Jour = InputBox("Quel jour est-on ?", Jour)
 
If Jour = Lundi Or Mardi Or Mercredi Or Jeudi Or Vendredi Then MsgBox ("Super" ) Else MsgBox ("Pas super" )
 
End Sub
 
 
 
Mais ça ne fonctionne toujours pas, j'obtiens toujours "Pas super" lorsque je rentre Mardi par exemple

Reply

Marsh Posté le 02-11-2010 à 19:30:29    

Un truc comme
If Jour = "Lundi" Or Jour = "Mardi" .... Then MsgBox ("Super" ) Else MsgBox ("Pas super" )
ça devrait mieux marcher.
Revois un peu les bases du langage, parce que là :/ ...


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 03-11-2010 à 17:47:52    

En beaucoup plus propre :

Sub Jour()
 
Dim strJour As String
 
strJour = InputBox("Quel jour est-on ?", "Jour" )
Select Case strJour
Case "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi"
   MsgBox ("Super" )
Case Else
   MsgBox ("Pas super" )
End Select
 
End Sub

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed