Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2011, 01h40   #1
Membre régulier
 
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 76
Points : 76
Par défaut Meilleure méthode pour conditions multiples ?

Bonjour,

Je me posais la question toute bête de savoir qu'elle est la meilleure méthode d'écriture dans un cas comme celui ci :

Si un champ a comme valeur "Bleu", "Blanc" ou "Rouge" alors exécuter: Procédure()

On peut utiliser IF ou SELECT CASE mais y a t'il moyen d'écrire une seule fois et sur une seule ligne l'action à appliquer comme résultat des conditions ?

Dans le cas présent je crois être obligé d'utiliser "OR" ce qui empêche l'utilisation de SELECT CASE, or pour utiliser "Or" il faut des IF obligatoirement non ?

Comment écrieriez vous cette instruction au plus bref ?
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2011, 04h26   #2
Membre Expert
 
Homme Pierre ANTOINE
Inscription : février 2008
Messages : 650
Détails du profil
Informations personnelles :
Nom : Homme Pierre ANTOINE
Âge : 43
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Secteur : Enseignement

Informations forums :
Inscription : février 2008
Messages : 650
Points : 1 302
Points : 1 302
Bonjour

Tout dépend du nombre de valeur du champ qui entraine la même action.

Avec if
Code :
1
2
3
4
 
if Monchamp = vlaeur1 or monchamp = valeur2 or monchamp = valeur3 then
     procédure
end if
avec Select case

Code :
1
2
3
4
select case mon champ
    case  valeur1, valeur2, valeur3
        procédure
end select
dans cet exemple, le code avec if semble plus court, dans l'écriture.
Au niveau de la performance, je pense que c'est assez équivalent.

Mais si vous avez une dizaine de valeur possible, le code avec select case est plus approprié.
De même s'il y a imbrication, ou plusieurs actions possibles selon plusieurs conditions.


Pierre
pier.antoine est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2011, 12h26   #3
Membre régulier
 
Inscription : janvier 2011
Messages : 309
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 309
Points : 76
Points : 76
Merci pour cette réponse claire et concise.

Dans le cas qui m'intéresse je vois que l'on peut utiliser Select Case en séparant des valeurs simplement avec des virgules et donnant une seule instruction de fin immédiatement après, ce qui me semble beaucoup mieux que la méthode utilisant des IF...

J'essaie donc cette méthode, étant très reconnaissant de l'aide apportée ...

Bonne journée
clickandgo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h48.


 
 
 
 
Partenaires

Hébergement Web