Comment affecter une condition sur un variable déclaré string?? [Résolu]

Signaler
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010
-
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010
-
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

Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
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
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

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
Messages postés
14788
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
1 mai 2021
155
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
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

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.