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 : select case et interval numerique [ Divers / Aide & Documentation ] (gbawar)

mercredi 15 novembre 2006 à 23:38:27 | select case et interval numerique

gbawar

Bonjour,

J'ai un ensemble de code que je voudrais simplifier en passant par un select case mais y un petit probléme qui se pose a moi.
Voici une parti de code:
 If (Val(Enerelec) < 0) And (Val(Enerelec) > 1 / 99) Then
            Calculateur.joule.Text = "J"
        End If
        If (Val(Enerelec) < (1 / 99)) And (Val(Enerelec) > (1 / 99999)) Then
            Calculateur.joule.Text = "mJ"
            Enerelec = Enerelec * 1000
        End If
Mon PB ce que je dois avoir un interval de valeur numerique a chaque fois, j'ai essayer ce code:
select case enerelec
    case (Val(Enerelec) < 0) And (Val(Enerelec) > 1 / 99)
            Calculateur.joule.Text = "J"
   case (Val(Enerelec) < (1 / 99)) And (Val(Enerelec) > (1 / 99999))
            Calculateur.joule.Text = "mJ"
            Enerelec = Enerelec * 1000
end select.

Mais le resultat est incorrect.
j'ai essayé:
select case enerelec
    case is < 0 And > 1 / 99
            Calculateur.joule.Text = "J"
   case is  < (1 / 99) And  > (1 / 99999)
            Calculateur.joule.Text = "mJ"
            Enerelec = Enerelec * 1000
end select.

et aussi
select case enerelec
    case is < 0  > 1 / 99
            Calculateur.joule.Text = "J"
   case is  < (1 / 99)   > (1 / 99999)
            Calculateur.joule.Text = "mJ"
            Enerelec = Enerelec * 1000
end select.

Mais idem.
Donc j'aimerais savoir  comment je peux réaliser cette fonction qui est  présent 9 fois pour 9 variable différentes et  qui contient 11 IF end IF pour réalisé la fonction demandé et qui fonction.
L'objectif et de gagner un peux de place et que le programme soit moin lourd.
Merci.
Cordialement.

mercredi 15 novembre 2006 à 23:59:13 | Re : select case et interval numerique

mortalino

Membre Club
Réponse acceptée !


Salut,

essaie comme ceci :

Select Case enerelec
    Case (1 / 99) To 0
        Calculateur.joule.Text = "J"
    Case (1 / 99999) To (1 / 99)
        Calculateur.joule.Text = "mJ"
        Enerelec = Enerelec * 1000
End Select
--Mortalino-- 

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"

jeudi 16 novembre 2006 à 00:20:30 | Re : select case et interval numerique

Gobillot

    Select Case enerelec
       Case Is >= 1 / 99: Calculateur.joule.Text = "J"
       Case Is >= 1 / 99999: Calculateur.joule.Text = "mJ"
       Case Else:
       End Select


Daniel

jeudi 16 novembre 2006 à 00:35:29 | Re : select case et interval numerique

mortalino

Membre Club


Salut,

Gobillot, je suis désolé (à tord, peut-être) mais je ne suis pas d'accord, si enerelec possède une valeur de 3, le 1er Case s'exécutera, alors que gbawar ne veut pas que la valeur soit supérieure à 0.

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"

jeudi 16 novembre 2006 à 00:42:53 | Re : select case et interval numerique

Gobillot

Salut,
on sait pas trop ce qu'il veux parce qu'il a mis ses test inversés

case is < 0 And > 1 / 99   est impossible


j'ai donc fait une supposition:
de toutes façons il vaut mieux tester tous les cas pour ne pas avoir de surprise:

Select Case enerelec
       Case Is >= 0:  ???
       Case Is >= 1 / 99:
                Calculateur.joule.Text = "J"
       Case Is >= 1 / 99999:
                Calculateur.joule.Text = "mJ"
                Enerelec = Enerelec * 1000
       Case Else:   ???
       End Select

Daniel

jeudi 16 novembre 2006 à 00:43:17 | Re : select case et interval numerique

mortalino

Membre Club


Mon explication précédante ne tient pas la route^^,
mais en gros, la valeur est soit entre 0 et 1 / 9999, soit entre 1 / 9999 et 1 / 99

Donc ça donnerait plutôt ça :

Select Case enerelec
    Case 0
To(1 / 99999)
        Calculateur.joule.Text = "J"
    Case (1 / 99999) To (1 / 99)           
        Calculateur.joule.Text
 = "mJ"     
        Enerelec
 = Enerelec * 1000
End Select


@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"

jeudi 16 novembre 2006 à 01:05:42 | Re : select case et interval numerique

Gobillot

re,
le zéro est mal placé, mais j'ai pas encore compris ses intervals




il y a 3 points donc 4 intervals:
- 1    < 0   
- 2    0 à 1/99999   
- 3    1/99999 à 1/99
- 4    > 1/99
                                0                               1/99999                  1/99
   --------------------|-----------------------|-------------------|----------------------

dans un sens:
Select Case enerelec
       Case Is >= 1/99:           'cas 4
       Case Is >= 1 / 99999:   'cas 3
       Case Is >= 0:                'cas 2
       Case Else:                     'cas 1
       End Select

ou dans l'autre:
Select Case enerelec
       Case Is < 0:                'cas 1
       Case Is < 1 / 99999:   'cas 2
       Case Is < 1/99:           'cas 3
       Case Else:                   'cas 4
       End Select


Daniel

jeudi 16 novembre 2006 à 01:40:53 | Re : select case et interval numerique

mortalino

Membre Club


Belle description, avec ça, il ne peut pas se planter dans son explication.

@++


  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"

jeudi 16 novembre 2006 à 19:01:16 | Re : select case et interval numerique

gbawar

Voici le code que j'ai mis et qui fonctionne:
 Select Case Enerelec
            Case (1 / 100) To 0
                Calculateur.joule.Text = "J"
            Case (1 / (99999 + 1)) To (1 / 101)
                Calculateur.joule.Text = "mJ"
                Enerelec = Enerelec * 1000
            Case (1 / (999999999 + 1)) To (1 / 100001)
                Calculateur.joule.Text = "µJ"
                Enerelec = Enerelec * 1000000
        End Select

Merci a vous tous cordialement.

jeudi 16 novembre 2006 à 19:21:29 | Re : select case et interval numerique

gbawar

Aprés verification de ma par ce code et le bon : (Code de Mortalino)
Select Case enerelec
    Case (1 / 99) To 0
        Calculateur.joule.Text = "J"
    Case (1 / 99999) To (1 / 99)
        Calculateur.joule.Text = "mJ"
        Enerelec = Enerelec * 1000
End Select

ernoce merci@+




Cette discussion est classé dans : case, select, calculateur, enerelec, joule


Répondre à ce message

Sujets en rapport avec ce message

select case dans page asp [ par naje ] Je cherche la syntaxe pour effectuer un choix à partir d'une date pour déterminer un signe du zodiaque .exempleselect case date_naissancecase dateseri Prob avec mon OptionButton [ par jeffcantin ] Bonjour à tous..J'aimerais seulement savoir comment je fais, si j'appuis sur la touche 1 pour que mon optionbutton se sélection sans que j'utilise ma Optimisation [ par babboss ] enfaite je voudrai savoir si un select case est plu rapide k un if ou si c pareil ou si c le If ki est plus rapide :Dpar ce ke je voi pas mal de perso chercher feuille en fonction d'un select case [ par philou1 ] chercher feuille en fonction d'un select case j'aimerai pouvoir recopier différentes cellules en fonction d'un nom et les recopier dans 1 autre classe Ube condition qui ne marche pas sur un if [ par ndsaerith ] Bonjour tout le mondeVoila j'ai une condition if suivie d'un select case.Ma condition se fait sur une string() qui récupère les valeurs d'un split :ta syntaxe select case [ par benben00 ] Bonjour,est ce que quelqu 'unpourrais m'indiquer la syntaxe de select case en vb dans le cas d'une condition sur une cellule excel.cas cell(a,b)=nanan help me :) urgent svp :) [ par Gaybou ] Voila, mon probleme est le suivant, je voudrais à l aide d'une liste box afficher telle ou telle image, (suivant le choix dans la liste) et pour cela, if then ... select case Question non existentielle, juste un avis [ par liquide ] plusieurs questions, sur differents type, je pose le code et je met la question ensuite------ 1er probleme'code 1 (dans un bouton par exemple)if Text1 Ajout d'un racourcie clavier dans un composant add-in pour excel [ par CRS ] Hello All,Alors voila j'ai fait un add-in pour excelVoici mon code Option Explicit Dim oPic As IPictureDisp Dim oMask As IPictureDisp Dim oXL As probléme de copie de données entre tableau sous VBA excel [ par sobeit1 ] Salut, j'ai créé un programme sur VBA excel qui, en fonction d'un tableau feuil 3, réécrit des infos dans un second tableau feuil 2.Certains données y


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,733 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é.