OVH Cloud OVH Cloud

L'instruction SELECT CASE

4 réponses
Avatar
RameX
Bonjour,

Novice en matière de vba je voudrais savoir s'il est impératif lorsqu'on
utilise l'instruction SELECT CASE de déclarer zone de texte, liste déroulante
et autre avec l'instruction DIM?

merci

4 réponses

Avatar
Eric
Bonjour,

Je me lance en attendant que quelqu'un vienne corriger ou compléter.
Tu dois utiliser l'instruction Dim pour déclarer des variables, tableaux
ou variables-objet. (Je préconise l'emploi de l'Option Explicit qui
impose la déclaration de toutes les variables)

Si tu veux utiliser l'instruction Select Case sur le contenu d'un
contôle, cela n'est pas nécessaire, dès lors que tu fais appel au
contrôle du genre Select Case Me!Texte0.


Bonjour,

Novice en matière de vba je voudrais savoir s'il est impératif lorsqu'on
utilise l'instruction SELECT CASE de déclarer zone de texte, liste déroulante
et autre avec l'instruction DIM?

merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
RameX
Merci Éric.

Toujours dans le même instruction
SELECT CASE {expression à tester}
CASE {liste d'expressions}
{séquence d'instructions}
END SELECT

Sur la ligne CASE, doit-on toujours rédiger la liste d'expresion ? (exp :
CASE 1 ou CASE 1 To 10). Si on utilise une zone de liste, n'existerait-il pas
une syntaxe qui puise capter la valeur sélectionner dans cette liste au lieu
de la saisir sur la ligne CASE?

Idem pour la {séquence d'instruction}. Peut-on utiliser une syntaxe sous
forme de requête SQL permettant d'afficher la valeur, en lieu et place de
devoir la saisir?

Merci



Bonjour,

Je me lance en attendant que quelqu'un vienne corriger ou compléter.
Tu dois utiliser l'instruction Dim pour déclarer des variables, tableaux
ou variables-objet. (Je préconise l'emploi de l'Option Explicit qui
impose la déclaration de toutes les variables)

Si tu veux utiliser l'instruction Select Case sur le contenu d'un
contôle, cela n'est pas nécessaire, dès lors que tu fais appel au
contrôle du genre Select Case Me!Texte0.


Bonjour,

Novice en matière de vba je voudrais savoir s'il est impératif lorsqu'on
utilise l'instruction SELECT CASE de déclarer zone de texte, liste déroulante
et autre avec l'instruction DIM?

merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Eric
Bonjour,

Soit un formulaire indépendant avec une zone de texte nommée Texte0, une
zone de liste (Liste2) et un bouton de commande (Commande4), sur
l'évènement click du bouton, tu peux faire un truc du genre:

Private Sub Commande4_Click()
Select Case Me.Texte0
Case Me.Liste2.Value
MsgBox DCount("*", "tclient", "villeclient='" & Me.Liste2 &
"'")
Case Else
MsgBox "Personne"
End Select
End Sub

où la msgbox retourne le nb de clients habitant dans une ville saisie
dans la zone de texte, ville correspondant à l'item choisi dans la zone
de liste. L'exemple est bateau mais j'ai peu d'idées ce matin.

Cela répond-il à ta demande ?

Merci Éric.

Toujours dans le même instruction
SELECT CASE {expression à tester}
CASE {liste d'expressions}
{séquence d'instructions}
END SELECT

Sur la ligne CASE, doit-on toujours rédiger la liste d'expresion ? (exp :
CASE 1 ou CASE 1 To 10). Si on utilise une zone de liste, n'existerait-il pas
une syntaxe qui puise capter la valeur sélectionner dans cette liste au lieu
de la saisir sur la ligne CASE?

Idem pour la {séquence d'instruction}. Peut-on utiliser une syntaxe sous
forme de requête SQL permettant d'afficher la valeur, en lieu et place de
devoir la saisir?

Merci





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
RameX
Bonjour,
Un exemple concret que je vais pouvoir exploiter
Merci beaucoup


Bonjour,

Soit un formulaire indépendant avec une zone de texte nommée Texte0, une
zone de liste (Liste2) et un bouton de commande (Commande4), sur
l'évènement click du bouton, tu peux faire un truc du genre:

Private Sub Commande4_Click()
Select Case Me.Texte0
Case Me.Liste2.Value
MsgBox DCount("*", "tclient", "villeclient='" & Me.Liste2 &
"'")
Case Else
MsgBox "Personne"
End Select
End Sub

où la msgbox retourne le nb de clients habitant dans une ville saisie
dans la zone de texte, ville correspondant à l'item choisi dans la zone
de liste. L'exemple est bateau mais j'ai peu d'idées ce matin.

Cela répond-il à ta demande ?

Merci Éric.

Toujours dans le même instruction
SELECT CASE {expression à tester}
CASE {liste d'expressions}
{séquence d'instructions}
END SELECT

Sur la ligne CASE, doit-on toujours rédiger la liste d'expresion ? (exp :
CASE 1 ou CASE 1 To 10). Si on utilise une zone de liste, n'existerait-il pas
une syntaxe qui puise capter la valeur sélectionner dans cette liste au lieu
de la saisir sur la ligne CASE?

Idem pour la {séquence d'instruction}. Peut-on utiliser une syntaxe sous
forme de requête SQL permettant d'afficher la valeur, en lieu et place de
devoir la saisir?

Merci





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr