Comment traduire un "ou" en VB

Résolu
Signaler
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
-
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
-
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

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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 ...)
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
& ?????

non & c'est pour la concaténation

And = et logique
Or  = ou logique

Renfield
Admin CodeS-SourceS- MVP Visual Basic
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
re,
Ahhhhh ZUUUUUT
NOrmal tu es as cheval...

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

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
Je cherchais juste à faire un test dans un if, merci beaucoup !
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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)
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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...)
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
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
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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...
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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)
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
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
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
Cal est un calendrier
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
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)
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
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)
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
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
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
non il n'y a pas d'espaces : a11:00:002a
c'était pour une meilleure lisibilité
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
9 avril 2014
7
ç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 !