problème de SELECT ...... IF THEN ELSE (aaaaahhhh aidez-moi!!!!)

N

Nkubi

Guest
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.
 
@

@+Thierry

Guest
Bonjour Nkubi, le Forum

Pas très clairs sans un exemple pour ceux qui peuvent télécharger (moi de toutes façons je ne peux pas our Offices Security Rules)

Mais pour dire vite fait ce que je remarque :

Ton Code ci-dessus signifie :

SI mon Groupe = XXX / ENSUITE => SI Passe = faux
ALORS :
debx = der_ligne_XXX
x = der_ligne_XXX
SINON :
debx = der_ligne_kembs_XXX
x = der_ligne_kembs_XXX
FIN DE CONDITION

Ceci se répète pour les groupes "G1" , "G2" , "G3"... MAIS pour "G4" tu fais autrement :

SI mon Groupe = XXX / ENSUITE => SI Passe = N'EST PAS faux (If not)
etc ....

Bien que je ne puisse savoir ce que sont les Bollean et quel est leur status au moment de ce Select Case... Il ressort que Si ta variable "Groupe" est inclue entre "G1", "G2" ou "G3" MAIS que la Boolean "Passe" a été initialisée à True........ Rien ne se passera avec ce code !
Et il en est de même si ta variable Groupe est "G4" mais que la Boolean "Passe" est False (ou non initiliasée )

Voilà pour un premier diagnostic sans savoir plus.
Bon Aprèm
@+Thierry
 
N

Nkubi

Guest
""Bien que je ne puisse savoir ce que sont les Bollean et quel est leur status au moment de ce Select Case... Il ressort que Si ta variable "Groupe" est inclue entre "G1", "G2" ou "G3" MAIS que la Boolean "Passe" a été initialisée à True........ Rien ne se passera avec ce code !""


Beh justement si mon problème était qu'il ne marchait que dans ce cas là. Si mon G4 était différent c'est juste à force de faire des modif pour résoudre l'erreur sinon c'est le même que les autres.

Mais c'est pas grave vu que je crois avoir résolu le problème .... enfin jusqu'à la prochaine erreur.....

Merci quand même.
 

Discussions similaires

Réponses
2
Affichages
208

Statistiques des forums

Discussions
312 305
Messages
2 087 085
Membres
103 461
dernier inscrit
dams94