Select case ou If then... [Résolu]

Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
- - Dernière réponse : mortalino
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
- 25 avril 2006 à 20:01
Bonjour à tous

J'ai déjà posée la question mais je viens d'essayer une solution mais ca ne fonctionne pas pouvez vous me dire pourquoi ?
Voila j'ai créé un formulaire avec plusieurs liste de choix
une liste qui s'appelle nom produit/designation une autre qui s'appelle niveau/level et un champ prix/price

je voudrais que lorsque je selectionne 1 niveau et un produit j'ai un prix qui s'affiche:
ex niveau :niveau 1 & produit: longe corde prix =18,3 ?

je tape ce code:

<!-- BEGIN TEMPLATE: bbcode_code -->

Private Sub Form_AfterUpdate()If Niveau_de_réparation_level_of_repair.Value "niveau 1" And Nom_produit_designation.Value "longe corde" Then
Prix_price.Value = "18,30"
End If
End Sub

Dans mon formulaire je ne peux plus selectionner mon produit a chaque fois que je le selectionne dans la liste deroulant il ne s'affiche pas dans le champ...
De plus j'ai peu de produits et de prix à rentrer est ce qu'il ne faudrait pas plutot utiliser Select Case longe corde case is...?
Merci de vos réponses je galère de trop sur ce sujet là...
A+<!-- / message -->
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
3
Merci
Salut Mortalino

c'est bon j'ai réussi à resoudre mon problème merci beaucoup
A+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 219 internautes nous ont dit merci ce mois-ci

Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Salut,

Private Sub Form_AfterUpdate()If Niveau_de_réparation_level_of_repair.Value "niveau 1" And Nom_produit_designation.Value "longe corde" Then
Prix_price.Value = "18,30"
End If
End Sub


Je suppose que Niveau_de_réparation_level_of_repair & Nom_produit_designation sont des ComboBox,
dans ce cas, essaie ça

Private Sub Nom_produit_designation_
Change ()
If Nom_produit_designation.Value <> "" And Niveau_de_réparation_level_of_repair.Value <> "" Then

If Niveau_de_réparation_level_of_repair.Value = "niveau 1" _
And Nom_produit_designation.Value = "longe corde" then
Prix_price.Value = "18,30"
End If
End If
End Sub
' Là en gros, lorsque la valeur de "Nom_produit_designation" change, il vérifie que rien ne soit vide et place 18.30 si la condition est vraie.

Select Case traite également des conditions. C'est plus lisible mais utilise celui avec lequel tu es le plus à l'aise

@ ++

Mortalino
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
0
Merci
Ok merci beaucoup

il faut bien que le code se trouve au niveau du formulaire et non pas d'une combobox ?
En fait j'ai plusieurs produit et prix c'est a dire que suivant le produit et le niveau le prix n'est pas le même...
C'est pour ca que je demandais si il ne fallait pas plutot utiliser un select case
En fait je suis novice et je suis pas trop à l'aise avec le VB
Quel seris la syntaxe d'un select case lorsque j'ai plusieurs produits, plusieurs niveau et plusieurs prix ?
Merci beaucoup Mortalino
A+
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Dans ce cas essaie

Private Sub Form_AfterUpdate()
Dim NiveauRepLevel As String, NomProd As String
NiveauRepLevel = Niveau_de_réparation_level_of_repair.Value
NomProd = Nom_produit_designation.Value

Select Case NiveauRepLevel
Case "niveau 1": 'Si niveau 1 séléctionné
Select Case NomProd
Case "longe corde":
Prix_price.Value = "18,30"
Case "produit 2":
Prix_price.Value = "XX,XX"
Case "produit3":
Prix_price.Value = "XX,XX"
etc...
End Select
Case "niveau 2": 'Si niveau 2 séléctionné
Select Case NomProd
Case "longe corde":
Prix_price.Value = "18,30"
Case "produit 2":
Prix_price.Value = "XX,XX"
Case "produit3":
Prix_price.Value = "XX,XX"
etc...
End Select
End Select

End Sub


Voit si c'est bon. si tu veux des précisions, n'hésite pas

Mortalino
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
0
Merci
Ok merci beaucoup

Je vais essayer cette solution
Je te redis ça dans la journée
Je vais enfin arriver à faire cette manipulation qui me préoccupe depuis longtemps...
Merci Mortalino
A+

lolo_bob2
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
0
Merci
Salut Mortalino

Je viens de faire l'essai avec deux produits

voici le code :

Private Sub Form_AfterUpdate()
Dim NiveauRepLevel As String, NomProd As String
NiveauRepLevel = Niveau_de_réparation_level_of_repair.Value
NomProd = Nom_produit_designation.Value


Select Case NiveauRepLevel
Case "niveau 1": 'Si niveau 1 séléctionné
Select Case NomProd
Case "longe corde":
Prix.Value = "18,30"
Case "harnais":
Prix.Value = "20,30"

End Select

Case "niveau 2": 'Si niveau 2 séléctionné
Select Case NomProd
Case "longe corde":
Prix.Value = "30,00"
Case "harnais":
Prix.Value = "50,00"

End Select
End Select


End Sub

Donc je le met sur Apres MAJ, je reviens sur mon formulaire en mode formulaire et lorsque je selectionne le niveau 1 et le produit longe corde le prix n'apparait pas
Le champ prix est un champ independant.
D'où peut provenir l'erreur ?
Merci beaucoup
A+ tard
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Par contre question bête, c'est quoi comme contrôle ton
Niveau_de_réparation_level_of_repair
Tu travailles sur une BDD Access ?
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
0
Merci
Salut Mortalino

je travaille sur BD Access effectivement...
Le bouton Niveau_de_réparation_level_of_repair est une zone de liste modifiable...
Voila pour le plus d'informations
ce soir j'ai réessayé mais ca ne fonctionnait toujours pas
A+
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Ben concernant Access, j'ai fait une BDD mais il y a bien longtemps (dans une galaxie lointaine).
Donc actuellement je n'ai pas de solution mais je regarderai dans ma bible ce soir et si je trouve je te met un Post demain matin (sauf si une âme charitable à la soluce de tête).
Désolé
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Par contre, remplace le terme "Value" par "Text", j'ai regardé 2 / 3 codes et c'est ce terme qui est employé
Messages postés
14
Date d'inscription
mardi 25 octobre 2005
Statut
Membre
Dernière intervention
25 avril 2006
0
Merci
ok merci beaucoup


j'essaye ça dès demain matin


en tout cas merci de te pencher de près à mon problème...


Bonne soirée
Messages postés
6789
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
16
0
Merci
Salut lolo_bob2,

Tant mieux si tu as trouvé car moi je me suis rencarder, et VBA Access c'est particulier comme syntaxe.

Bien vu et @ ++

Mortalino