Comment en vba faire une condition de recherche

Fermé
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 22 mai 2016 à 17:19
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 25 mai 2016 à 15:31
Bonjour,

Je débute en VBA est franchement je pêche un peu.
J'ai avancé un peu mais je trouve pas comment faire

je voudrais selon une feuille appelé Paramètres qu'une Textbox affiche le prix selon ce qu'il y a sur le tableau ci-dessous et si elle trouve pas ce qu'il y à dans ce tableau m'indique un message d'erreur du genre "Thème n'existe pas dans cette configuration"
et efface tout ce qu'il y à dans les combobox pour recommencer la saisi en faite.


J'ai 3 combobox avec le premier
combobox2 pour le Théme
combobox4 pour la Durée
combobox1 pour le Lieu
et un textbox qui affiche le prix...

C D F G

1 Thémes Durée Lieu Prix
2 Princesse 01:00 Maison 90
3 Princesse 01:30 Maison 110
4 Princesse 03:00 Maison 140
5 Pirate 03:00 Maison 140
6 Sorcière 03:00 Maison 140
7 Fête foraine 03:00 Maison 180
8 Fête foraine 03:00 Extérieur 200
9 Fort boyard 03:00 Maison 140


voici mon ébauche de projet

http://www.cjoint.com/c/FEwpshfIe40

8 réponses

Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
22 mai 2016 à 18:02
Bonjour
Essayez ceci, je récupère la textbox du prix pour afficher le message.
La textbox s'adapte à la longueur de son contenu, d'où la nécessité de mettre le sigle "€" avant le prix indiqué (si cela ne vous gêne pas)
https://www.cjoint.com/c/FEwp7KCwHGw
Cdlt
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
23 mai 2016 à 18:12
Bonjour frenchie,

ton adaptation est presque comme je l'imaginais, mais si il y à problème de saisi qui abouti à ce message d'erreur comment serait-il possible de recommencer toutes la saisi pour corriger l'erreur ?

afin que la recherche se re-fasse depuis le début en faite ?

sinon cela ne gêne pas d'avoir le sigle "€", mais bravo pour l'idée
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
23 mai 2016 à 19:36
Bonsoir
il y à problème de saisi qui abouti à ce message d'erreur comment serait-il possible de recommencer toutes la saisi pour corriger l'erreur ? Quel problème et quel message d'erreur?
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
23 mai 2016 à 19:48
je suis d'accord, la saisi n'aboutissant pas cela met un message d'erreur.

Mais, le faite qu'il n'existe pas dans la liste qui se trouve dans la feuille paramètres dois effacer la saisi dans les combobox2, combobox4 et combobox1, pour ressaisir une nouvelle donnée.

est-ce possible de faire ce code ?
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
24 mai 2016 à 02:48
Bonjour
Private Sub ComboBox1_Change()
' cette  procédure permet de renseigner  la cellule D8 en fonction de la donnée
' écrite dans le formulaire à la parti Lieu
    Sheets("BASE de DONNEE").Select
    [D8] = ComboBox1
    Call RechercherPrix
    If Prix = "" Then
        TextBox11.Font.Size = 8
        TextBox11 = "Thème n'existe pas dans cette configuration"
        ComboBox1 = ""
        ComboBox2 = ""
        ComboBox4 = ""
    Else
        TextBox11.Font.Size = 18
        TextBox11 = Prix
    End If
End Sub

Cdlt
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
24 mai 2016 à 17:05
Génial,
il fallais juste rajouter ici, la condition que les combobox soit vide en l’occurrence =""
tu as répondu à ma question parfais excellent.
Juste un point où dans le code recherche t'il le sigle "€" dans le label 26...
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1 > coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016
24 mai 2016 à 17:51
J'ai toutefois un beug, quand le programme recherche le thème lié à l'heure et au lieu, j'ai pas la bonne réponse....
je m'explique dans la feuille paramètres il est indiqué que si je choisis tel ou tel ligne our se trouvent le thème l'heure et lieu j'ai une incohérence.
me marque quand même un prix alors qu'il ne devrais pas..
si tu fais le test, pirate puis 1:00 puis le lieu maison, je devrais avoir comme résultat " thème n'existe pas dans cette configuration" mais j'ai le prix de 90 ???
alors pourquoi j'ai se soucis alors que c'est pas la réalité....
manque t'il une condition ?
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
24 mai 2016 à 18:31
Bonsoir
Bizarre, chez moi ça marche bien.
Pourrais-je avoir le fichier à nouveau
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
24 mai 2016 à 18:34
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
24 mai 2016 à 18:59
En fait, cela se produit lorsqu'on a déjà affiché une recherche puis qu'on bascule sur une autre, cela ne remet pas le prix de la précédente recherche à vide. Pour contourner le problème, il suffit de mettre en première ligne dans Combobox1 Combobox2 et Combobox4, la ligne suivante
TextBox11 = ""

Essayez
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
24 mai 2016 à 19:11
sa semble fonctionner, mais l'erreur de saisi parfois me remet ce problème d'erreur que l'on viens de rencontrer, une incohérence entre la saisi et ce qu'il y à dans les paramètres.
si je le fait plusieurs fois cela provoque l'erreur quand même....cela me beug le résultat.
ou parfois me l'affiche je termine la saisi mais efface le prix,lol
est ce que le faite qu'il inscrit dans la base de donnee le thème pourrais être lié à ce beug?
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
24 mai 2016 à 19:20
Décrivez un scénario qui ne marche pas, que je puisse le reproduire
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
24 mai 2016 à 19:41
voilà un exemple simple, juste cette manipulation là, qui devrais aboutir tout de suite à un beug,

faite de suite la saisi, 25052016 puis 0100 ensuite faite le choix de pirate puis 1:00 est maison et le résultat ce termine par 90 ce qui n'existe pas....
terminer la saisi et enregistrer le 90 disparait, normal vue que c'est pas la bonne saisi.
j'espère que cela va se produire chez vous
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338
24 mai 2016 à 20:13
j'espère que cela va se produire chez vous Ben Non, désolé
Je vous renvoi le fichier, dès fois qu'il y aurait une petite différence avec le vôtre.
https://www.cjoint.com/c/FEysjJZZfkw
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
24 mai 2016 à 20:48
Effectivement cela marche avec le vôtre, c'est à rien à y comprendre.
Bizarre.
en tout cas merci de votre aide c'est super.
0
Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023 338 > coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016
25 mai 2016 à 03:52
Bonjour
Etes-vous sûr d'avoir mis en première ligne dans les combobox suivantes: Combobox1 Combobox2 et Combobox4, la ligne suivante?
TextBox11 = ""

Comparer les 2 fichiers pour voir ou se situe cette différence.
Bonne journée.
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1 > Frenchie83 Messages postés 2240 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 11 août 2023
25 mai 2016 à 15:31
Bonjour, j'ai exactement les mêmes lignes comme vous, pour l'emplacement des textbox11=""
Je suppose que d'avoir ouvert plusieurs fichier du même type on du faire planter le programme initiale, comme j'ai tout couper cela à marcher du coup...
ensuite c'est à voir à l'usage....
0