Comment traduire un "ou" en VB

Résolu
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 - 12 juin 2007 à 15:47
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 - 12 juin 2007 à 16:46
Bonjour à tous,
Je ne sais plus comment traduire un "ou" en VB 6
et : &
ou : ?

J'ai honte, j'ai fais trop de C# et du coup je ne sais plus :(

Merci d'avance

18 réponses

jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
12 juin 2007 à 16:40
Je ne sais pas où tu te "plantes" dans ton code (t'as bien vérifié tout, y compris les positions de tes End If ?).

Mais voilà la preuve de ce que rien ne devrait empêcher ce fonctionnement !

Private Sub Command1_Click()
  dddd = "02/01/2222"
  heure = "10:00:00"
  jour = Format(dddd, "w")  If heure "10:00:00" Or jour 2 Or jour = 3 Or jour = 4 Then
     MsgBox ("pris")
  Else
    MsgBox ("pas pris")
  End If
End Sub

Alors : montre-nous tout depuis le If jusqu'au End If (qu'on n'a pas encore aperçu ...)
3
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
12 juin 2007 à 15:50
& ?????

non & c'est pour la concaténation

And = et logique
Or  = ou logique

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 juin 2007 à 15:50
Salut,
ATTENTION
& n'est pas un ET en VB6 c'est le concaténeur de chaine ou bien le caractere d'indication de type Long
essaie de regarder du coté de AND et OR

Que cherches tu à faire exactement

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
12 juin 2007 à 15:51
re,
Ahhhhh ZUUUUUT
NOrmal tu es as cheval...

=> je suis déjà dehors...merci

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 15:52
Je cherchais juste à faire un test dans un if, merci beaucoup !
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
12 juin 2007 à 16:08
Salut et bien

If condition1 And condition2 Then

End If

If condition1 Or condition2 Then

End If

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:11
En tout cas mon if ne fonctionne pas !

dans une variable jour qui est en entier, je met le numéro du jour
If  heure "10:00:00" Or jour 2 Or jour = 3 Or jour = 4 Then
   msgbox("pris")
Else msgbox ("pas pris")

j'ai toujours "pas pris" qui s'affiche même quand jour est égal à 2, 3 ou 4

Je ne sais donc plus quoi faire !

Si quelqu'un voit une erreur dans ce que j'ai écrit qu'il me le dise ! merci
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
12 juin 2007 à 16:18
Salut;

Essaye séparément  :

Private Sub Command1_Click()
  heure = "11:01:01"
  jour = 2  If heure "10:00:00" Or jour 2 Or jour = 3 Or jour = 4 Then
     MsgBox ("pris")
  Else
    MsgBox ("pas pris")
  End If
End Sub

Et tu verras que ça marche (forcément, d'ailleurs)
Conclusion ? ta variable jour n'est pas définie réellement comme integer (probablement une string après un tremplin quelconque du hgente textBox, Label, etc...)
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:22
la première condition avec l'heure fonctionne puisque que quand l'heure est égale à 10 h, "pris" s'affiche
jour est déclaré en integer et je l'a rempli de cette façon : jour = Format(Cal.Value,"w")

quand j'affiche jour dans un messagebox, j'ai bien le numéro qui s'affiche
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
12 juin 2007 à 16:22
Ou encore : ta variable jour n'est pas égale à 2, à 3 ou à 4

Fait donc, juste avant ta condition :
msgbox "a" & heure & jour & "a"
et dis-nous très exactement ce qui s'affiche, juste pour voir...
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
12 juin 2007 à 16:25
jour = Format(Cal.Value,"w"), tu fais quoi avec ce code? Cal c'est un contrôle?

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:27
msgbox("a" & heure & jour & "a") donne : a 11:00:00 2 a
et quoi que je mette en 2ème condition me renvoie toujours pas pris sauf si heure = 10:00:00
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:28
Cal est un calendrier
0
jmfmarques Messages postés 7668 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 28
12 juin 2007 à 16:30
Je remarque des espaces...
Figurent-ils également dans ce qu'affiche ta msgbox ???
Si j'ai ajouté l'affichage de "a", entre autres, c'est précisément pour voir s'il y a ou non des espaces !!!
Dis-nous (exactement, s'il te plait)
0
drikce06 Messages postés 2237 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 11
12 juin 2007 à 16:32
Bon je vois pas trop, essaye toujours ça:

jour = Int(Format(Cal.Value,"w"))

If jour = 2 then
msgbox("Yes")
Else
msgbox("P**** de M *****")
End If

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:33
Par contre en faisant un 2ème If avec juste le test sur jour après un test sur l'heure ça fonctionne !
C'est bizarre
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:35
non il n'y a pas d'espaces : a11:00:002a
c'était pour une meilleure lisibilité
0
cs_Jordan59 Messages postés 174 Date d'inscription vendredi 26 mai 2006 Statut Membre Dernière intervention 9 avril 2014 7
12 juin 2007 à 16:46
ça y est ça marche, je sais pas pourquoi peut être une erreur d'espace, merci de m'avoir aidé en tout cas !
Pour le if, il y en a 10 imbriqués et l'heure vient d'une base de données
C'est pour la réservation des heures de conduite pour une auto-école.
Programme que je dois présenter au BTS cette année
C'est difficile pour moi car je n'ai pas fait de VB depuis 1 an car je suis passé au C#

Merci à tous pour votre aide en tout cas !
0