Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Compile Error : Else without if.. [ Divers / General ] (mangaman92)

mardi 6 mai 2008 à 22:02:24 | Compile Error : Else without if..

mangaman92

Bonjour,

le problème est écrit dans le titre mais je vais le rappeller c'est un message d'erreur : "Compile Error : Else without if..." sur Visual Basic 6.0

Voici le code génerant cette erreur:

If 10 <= MMZone.Caption < 20 Then MMZone.BackColor = &HFFFF&
ElseIf 5 <= MMZone.Caption < 10 Then MMZone.BackColor = &H80FF&
ElseIf 1 <= MMZone.Caption < 5 Then MMZone.BackColor = &HFF&
ElseIf 0 <= MMZone.Caption < 1 Then MMZone.BackColor = &H8000000F

Personnellement je ne vois pas où est l'erreur.. et quand je debug le problème vient de cette zone "ElseIf 5 <= MMZone.Caption < 10 then" j'ai tenté de changer en tout autre code que connaisse et que je ne puisse imaginer et j'ai toujours la même erreur ...

Quelqu'un pourrait-il me dire comment changer le code pour éviter l'erreur??

Merci d'avance

mardi 6 mai 2008 à 22:12:48 | Re : Compile Error : Else without if..

casy

Membre Club
Réponse acceptée !

Le problème viens de là : If 10 <= MMZone.Caption < 20 Then MMZone.BackColor = &HFFFF&

Tu utilie l'instruction if dans sa version inline, c'est à dire que toute l'instruction est contenu sur une seule ligne. Dans cette version tu ne peux pas mettre de Else (ou Elseif) sur le ligne suivante. Il faudrait qu'il soit sur la même ligne.

Donc correction :

If 10 <= MMZone.Caption < 20 Then
    MMZone.BackColor = &HFFFF&
ElseIf 5 <= MMZone.Caption < 10 Then
    MMZone.BackColor = &H80FF&
ElseIf 1 <= MMZone.Caption < 5 Then
    MMZone.BackColor = &HFF&
ElseIf 0 <= MMZone.Caption < 1 Then
    MMZone.BackColor = &H8000000F
End If


---- Sevyc64  (alias Casy) ----
# LE PARTAGE EST NOTRE FORCE #    [ Lien ]

mardi 6 mai 2008 à 23:01:32 | Re : Compile Error : Else without if..

mangaman92

Alors là je n'ai rien à redire...à part en 2 mots : Merci casy .

mardi 6 mai 2008 à 23:24:51 | Re : Compile Error : Else without if..

mangaman92

Voici le code final:

If MMZone.Caption >= 20 Then
     MMZone.BackColor = &HFF00&
ElseIf MMZone.Caption < 20 And MMZone.Caption >= 10 Then
    MMZone.BackColor = &HFFFF&
ElseIf MMZone.Caption < 10 And MMZone.Caption >= 5 Then
    MMZone.BackColor = &H80FF&
ElseIf MMZone.Caption < 5 And MMZone.Caption >= 1 Then
    MMZone.BackColor = &HFF&
ElseIf MMZone.Caption < 1 And MMZone.Caption >= 0 Then
    MMZone.BackColor = &H8000000F
    End If

Sinon les toutes les couleurs ne sont pas prises en comptes....


mercredi 7 mai 2008 à 09:52:41 | Re : Compile Error : Else without if..

NHenry

Membre Club
Bonjour

Petite précision, un de tes tests est inutile :

If MMZone.Caption >= 20 Then
     MMZone.BackColor = &HFF00&
ElseIf MMZone.Caption < 20 And MMZone.Caption >= 10 Then
    MMZone.BackColor = &HFFFF&
ElseIf MMZone.Caption < 10 And MMZone.Caption >= 5 Then
    MMZone.BackColor = &H80FF&
ElseIf MMZone.Caption < 5 And MMZone.Caption >= 1 Then
    MMZone.BackColor = &HFF&
ElseIf MMZone.Caption < 1 And MMZone.Caption >= 0 Then
    MMZone.BackColor = &H8000000F
End If

Tu peux parfaitement supprimer les morceaux en Rouge, car si tu fais le test, c'est que les conditojns précédentes n'ont pas été satisfaites.

En plus faire :
MMZone.Caption >= 20
est risqué, car si par malheur c'est du text et non des chiffres qui sont présents, belle erreur alors.
Je te conseil plutot d'utiliser un attribut pour ce genre de chose.
MMZone, c'est quoi comme controle (Label, TextBox ou autre), car si c'est un Label, peu de risque, mais si c'est une TextBox (ou du même topo, l'utilisateur peut agir), le risque est très grand.

"Sinon les toutes les couleurs ne sont pas prises en comptes....", que veux-tu dire ?

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site

vendredi 9 mai 2008 à 12:21:40 | Re : Compile Error : Else without if..

mangaman92

Bonjour NHenry,

le probleme avec ton code comme le mien qui a été corrigé textuellement est que toutes les couleurs ne sont pas prises en comptes.
pour tout expliquer MMZone est un commandButton dont le caption est géré par un textbox et selon la valeur du textbox et par l'intermédiaire d'un calcul une valeur(un nombre) est affichée dans le caption du commandbutton je ne cache pas le fait que ce qui doit etre marqué dans le textbox doit etre un chiffre sinon erreur, et si le textbox est vide cela genere aussi une erreur :(....et selon la valeur affichée sur le caption du commandbutton le background du commandbutton en question change de couleur...
Les morceaux que tu as mis en rouge sont nécessaires au bon foctionnement de ce systeme de couleur car avec mon code corrigé par Casy ou si je supprime ce qui est en rouge...Voila ce qui arrivera par exemple: imaginons que la valeur affiché par le caption du commandbutton est 7 donc la couleur du background doit etre orange selon le "cahier des charges" on va dire... le background est orange pour tout valeur du caption comprise entre 5 et 10 10 exclu 5 inclu.....
mais le probleme avec le petit 7 c'est qu'il verifie le fait qu'il est inferieur à 20 et à  10 donc visual basic va se dire 7? j'affiche du jaune ??(si le nombre est compris entre 20 et 10 normalement d'apres le "cahier des charges") ou j'affiche du Orange ?? Je sais pas?? donc par défaut de code il me mettra la couleur jaune...
c'est pour ca que j'ai besoin de la condition avec le And pour vraiment fermer l'intervalle là ou je le souhaite....et pour que toutes les couleurs soit prises en compte...
Maintenant ce que je tente de faire c'est afficher un message sur le caption d'un autre commandbutton dont le dernier mot(du message) est un nombre et ce nombre est un nombre dependant d'un autre textbox et par l'intermediaire d'un calcul mais j'y arrive pas car soit c'est que le message que j'affiche ou soit c'est le chiffre si je tente d'afficher les deux j'ai une très belle erreur^^...


jeudi 15 mai 2008 à 13:23:14 | Re : Compile Error : Else without if..

NHenry

Membre Club
Bonjour

Un If .. ElseIf ... Else ... Enf If, utilisera toujours le premier test qui sera bon et ne testeras pas les autres (essaye en pas à pas tu verra).

Ce code :
If MMZone.Caption >= 20 Then
     MMZone.BackColor = &HFF00&
ElseIf
MMZone.Caption < 20 And MMZone.Caption >= 10 Then
    MMZone.BackColor = &HFFFF&
ElseIf
MMZone.Caption < 10 And MMZone.Caption >= 5 Then
    MMZone.BackColor = &H80FF&
ElseIf
MMZone.Caption < 5 And MMZone.Caption >= 1 Then
    MMZone.BackColor = &HFF&
ElseIf
MMZone.Caption < 1 And MMZone.Caption >= 0 Then
    MMZone.BackColor = &H8000000F
End If

Est strictement identique en fonction que celui là :
If MMZone.Caption >= 20 Then
     MMZone.BackColor = &HFF00&
ElseIf MMZone.Caption >= 10 Then
    MMZone.BackColor = &HFFFF&
ElseIf  MMZone.Caption >= 5 Then
    MMZone.BackColor = &H80FF&
ElseIf  MMZone.Caption >= 1 Then
    MMZone.BackColor = &HFF&
ElseIf  And MMZone.Caption >= 0 Then
    MMZone.BackColor = &H8000000F
End If


Ensuite, pour ta dernière phrzase, merci de décrire un peu plus  la chose, je ne puis t'aider avec aussi peu d'info.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site



Cette discussion est classé dans : erreur, compile, error, if, elseif


Répondre à ce message

Sujets en rapport avec ce message

Erreur exécution compile HHCTRL.OCX [ par OliPoz ] Bonjour à tous,J'ai téléchargé la dernière compile, je l'ai décompressé sans problème. Mais lorsque je veux l'exécuter, un message s'affiche en me dem Erreur creation EXE [ par noe ] Bonjour à touslors de la création en VB6 de "exe" voila le message qui apparait fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'e:\work\ut erreur lorsque un fichier n'est pas trové [ par lucky2222 ] le probleme, c'est quand je demande au prog de chercher un fichier, et qu'il le trouve, pas de probleme!si il ne le trouve pas, comme je lui ai mis:on On error goto lablel [ par TRAX44 ] Salut,j'ai un petit problème avec On Error goto labelsi Il ya deux erreur dans le même module ou function la seconden'est pas gérer ce qui créer un er Cancel error [ par machto ] Bonjour.Il me reste juste une erreur pour mon code.J'utilise des Common Dialog pour ShowColor, ShowOpen et ShowPrinter.Je n'arrive pas à utiliser le C Compile error [ par psycotikpdp ] Voilà, j'ai télécharger la source suivante : vbfrance_source_21301.zip , celle-ci est un client/serveur utilisant Winsock . Lorsque j'ai pris une part probleme pour les "on error goto ..." [ par hasen ] Bonjour a tous,J'ai un probleme en ce qui concerne mes fonctions en vba. Pour gérer le mieux possible les erreurs eventuelles, j'utilise la fameuse li error [ par kyp ] bonjour j utilise en excel un solveur et j aimerais faire une macro ki l appeleraisautomatikement..je passe par le menu excel automatike,j enregistre Quess qui cause l'erreur: Server error in '/' Application [ par PunkyGirl ] J'ai cette erreur quand j'essais d'accéder a des pages web dans mon site qui ont de l'information dans la base de données.J'ai pourtant les droit sur Probleme avec On Error Goto blabla: [ par Number32 ] Salut a tous !! Bon voilla apres plusieurs année  a aprendre le Php ... J'me suis lancé au Vb ... J'essayes de créé un logiciel qui ce connect a uns


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.