Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3069 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  problème de select ..... if then else .... (je ne comprend pas!!!!! )

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de select ..... if then else .... (je ne comprend pas!!!!! )

n°709667
Nkubi
Posté le 27-04-2004 à 13:57:38  profilanswer
 

Bonjour
 
J'ai un problème vraiment incompréhensible, je fais un select (d'un parametre qui peut etre g1,g2,g3,g4) et dans chaque cas je teste si le deuxieme parametre est a vrai ou faux.
Donc voici mon code:
 
Select Case groupe
        Case "G1":
            If passe Then
                debx = der_ligne_G1
                x = der_ligne_G1
                MsgBox "argpresent"
            Else
                debx = der_ligne_kembs_G1
                x = der_ligne_kembs_G1
            End If
        Case "G2":
            If passe Then
                debx = der_ligne_G2
                x = der_ligne_G2
                MsgBox "argpresent"
            Else
                debx = der_ligne_kembs_G2
                x = der_ligne_kembs_G2
            End If
        Case "G3":
            If passe Then
                debx = der_ligne_G3
                x = der_ligne_G3
                MsgBox "argpresent"
            Else
                debx = der_ligne_kembs_G3
                x = der_ligne_kembs_G3
            End If
        Case "G4":
            If Not passe Then
                   MsgBox "c bon" & der_ligne_kembs_G4
                debx = der_ligne_kembs_G4
                x = der_ligne_kembs_G4
           Else
                debx = der_ligne_G4
                x = der_ligne_G4
                MsgBox " pas de kembs du g4"
            End If
        End Select
    ancienx = x
    MsgBox x
 
Et donc j'ai testé pour le g4 mais le problème serait le même pour les autres, si passe est à vrai x vaut bien der_ligne_g4 mais si jamais passe est a faux x vaut 0 (alors  que j'ai testé mon der_ligne_kembs_g4 vaut toujours 1) ce qui est du je crois au fait qu'il ne passe pas dans le THEN à ce moment là.
 
Si quelqu'un pouvait m'aider ce serait sympa (me dire où est mon erreur ou me donner une solution équivalente) parce que là ca fait kan meme un bout de temps que je suis la dessus.
 
Merci.
 
PS: J'ai testé aussi si par hasard mon paramètre booléen n'était pas bon mais sur un autre IF qui n'est pas dans le select ça fonctionne correctement.

mood
Publicité
Posté le 27-04-2004 à 13:57:38  profilanswer
 

n°709677
JihemAir
Je sais pas
Posté le 27-04-2004 à 14:07:32  profilanswer
 

Question idiote: passe est-il bien déclaré en boolean, explicitement ?


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°709683
Nkubi
Posté le 27-04-2004 à 14:11:54  profilanswer
 

Oui il est déclaré en booléen. Le problème c'est qu'il passe dans le else quand il faut et donc c'est bon mais il ne veux pas passer dans le then et mettre mon x=der_ligne_kembs_g4 ce qui laisse x=0 et lance le deboggeur.

n°709861
JihemAir
Je sais pas
Posté le 27-04-2004 à 15:59:42  profilanswer
 

Et tu le remets bien à False a chaque fois, après chaque passage dans la boucle?


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°709884
Nkubi
Posté le 27-04-2004 à 16:14:38  profilanswer
 

Je crois que j'ai résolu le problème grâce à un autre forum.
Enfin pour le moment ça a l'air de marcher.
Apparemment, ce serait parce que j'avais pas mis en haut de mon module Option Explicit, mais vu que je ne sais pas à quoi ça sert la prochaine fois je le mettrais partout.

n°709967
JihemAir
Je sais pas
Posté le 27-04-2004 à 17:08:21  profilanswer
 

Option Explicit ça sert à forcer la déclaration des variables, alors si tu ne l'avait pas et que tu me dis que la variable "passe" était déclarée Boolean, j'ai un gros doute...


---------------
J'ai un message.."Cliquez OK pour continuer."...Qu'est ce que je fais ?
n°711104
Nkubi
Posté le 28-04-2004 à 16:10:09  profilanswer
 

Je comprend que tu puisse avoir un doute mais bon maintenant ça marche alors tant mieux.

n°711128
daviso
En 2005, j'enlève le bas
Posté le 28-04-2004 à 16:24:32  profilanswer
 

En mettant option explicit, il considère que la variable est obligatoirement locale, alors que sinon, tu l'as peut-être déclarée globale ailleurs?


---------------
DaViSo http://daviso.free.fr

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  problème de select ..... if then else .... (je ne comprend pas!!!!! )

 

Sujets relatifs
Probleme Oracle[PHP/MYSQL] Problème d'UPDATE . : RESOLU : .
Probleme de compilation[java] problème avec la précision des nombres réels
[Delphi/Interbase]Probleme de dateProbleme avec $PHP_SELF
probleme declaration operateur newProblème de trigger (BdD et trigger présents)
[Borland c++ builder 5] problème liste de suivis[SQL] Select ... IN
Plus de sujets relatifs à : problème de select ..... if then else .... (je ne comprend pas!!!!! )


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR