Comment affecter une condition sur un variable déclaré string??

Résolu
cs_hirondellle Messages postés 35 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 27 mai 2010 - 5 mai 2010 à 22:12
cs_hirondellle Messages postés 35 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 27 mai 2010 - 7 mai 2010 à 19:30
Bonjour à tous

comment affecter une condition sur un variable déclaré string??

j'ai fais le code suivant mais ça marche pas:


dim chaine as string
...'un bout de code ici


if chaine="Employé" then
instruction
elseif chaine="Stagiaire" then
instruction
.
.
.
end if




merci d'avance

4 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
5 mai 2010 à 23:15
Bonjour,

Que contient exactement ta variable, car une simple majuscule en minuscule (ou l'inverse), un accent en plus ou en moins et ça ne match pas.

2 solutions couramment utilisées :

Ignorer la casse :
dim chaine as string
...'un bout de code ici


Select Case LCase(chaine)
    Case "employé"
'Code
    Case "stagiaire"
'Code
.
.
.
end if


Ou encore plus propre et sans risque d'erreur, en utilisant un Enum :

Public Enum eTypePersonne
    eTypePersonne_Employe
    eTypePersonne_Stagiaire
End Enum

'Du code et un début de procédure

Dim maVariable As eTypePersonne

...

Select Case MaVariable
    Case eTypePersonne_Employe
'Employé
    Case eTypePersonne_Stagiaire
'Stagiaire


Note, j'ai utilisé Select Case, car ça correspondait mieux pour ton exemple, mais ça fonctionne pareillement avec un If

Mon site
3
cs_hirondellle Messages postés 35 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 27 mai 2010
6 mai 2010 à 11:06
salut

aussi le premier code de case n'a pas fonctionné, concernant le deuxième j'ai pas bien compris, pouvez vous me rexpliquer?


merci d'avance
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
6 mai 2010 à 21:20
Bonjour,

D'après ce que j'ai compris de ton code, il sert à choisir une action en fonction de la valeur d'une variable.

Comme tu ne donne pas d'information sur quel est la source qui remplis ta variable à tester, j'en ai conclu que c'était équivalent à une numération de valeurs.

Une énumération permet de mettre un nom à une valeur entière, ça facilite la compréhension du code et évite pas mal d'erreurs.

Sinon, tu dis que les tests sur les chaines ne fonctionnent pas, as-tu vérifier les valeurs de la variable ?

Ton projet est en Option Compare
Binary ou Text ?

Mon site
0
cs_hirondellle Messages postés 35 Date d'inscription dimanche 21 mars 2010 Statut Membre Dernière intervention 27 mai 2010
7 mai 2010 à 19:30
Salut

merci NHenry


ta raison j'ai mal écrit la valeur de la condition(Les majuscules sont pris en considération)



merci pour vos explications.
0
Rejoignez-nous