Comment faire une condition avec des cellules et des combobox

Fermé
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 - 14 mai 2016 à 18:04
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 - 14 mai 2016 à 22:06
Bonjour,

J'aimerais connaitre un procédure pour faire un calcul avec des conditions....
voici.
en D1 j'ai Thèmes
en D2 jusqu'à aller D20 j'ai de Thèmes

en E1 j'ai Heure
en E2 jusqu'à E20 des heures du type 00:00

en F1 j'ai Lieu
en F2 jusqu'à F20 c'est soit deux choix maison ou extérieur

en G1 J'ai Prix
en G2 jusqu'à G2 un prix correspondant

Ma question est celle-ci....

je voudrais en VBA que la condition selon ce que indique mon textbox en l'occurence celle de l'heure et combobox lieu et combobox theme dans mon userform puisse faire la correspondance entre chaque ligne si elle la trouve.

Je m'explique si les deux combobox ou le textbox m'indique la même valeur correspondant à la ligne 2 sur D2+E2+F2 cela donnera G2 et ainsi de suite pour les autres ligne.

voici mon projet...

https://www.cjoint.com/c/FEop41m3ra0
A voir également:

6 réponses

via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 741
14 mai 2016 à 19:06
Bonjour

Ajoutes ces instructions juste avant le End sub des Sub associées au Textbox5, au Combobox1 et au combobox2
For n = 2 To 20
If TextBox5 = "" Or ComboBox1 = "" Or ComboBox2 = "" Then Exit For
If Sheets("Paramètres").Range("D" & n) = ComboBox2.Value And Sheets("Paramètres").Range("G" & n) = ComboBox1.Value And Sheets("Paramètres").Range("E" & n) = TimeValue(TextBox5.Value) And Sheets("Paramètres").Range("G" & n) = ComboBox1.Value Then
Sheets("BASE de DONNEE").Select
[F8] = Sheets("Paramètres").Range("F" & n)
End If
Next n


Cdlmnt
Via
0
Bonjour

tu a pas fini ta saisie voila un modèle
http://www.cjoint.com/c/FEorz72xs56
A+
0
coupidon Messages postés 98 Date d'inscription mardi 3 janvier 2006 Statut Membre Dernière intervention 23 novembre 2016 1
14 mai 2016 à 19:28
Génial sa fonctionne, je comprend pas trop la philosophie pourquoi tu choisi n=2 to 20 cela sert à quoi? et quoi correspond le n ?
pour le reste je comprend

dis comme tu semble t'y connaitre, comment je pourrais par exemple quand l'userform se referme avec le unload, qu'elle m'affiche une feuille bien précise comme feuil1 par exemple au lieu de paramètres.
je trouve pas
0
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 741
14 mai 2016 à 20:14
Re

Pour trouver le bon tarif il faut boucler sur les lignes 2 à 20 de la feuille Paramètres (puisque tu as dis que tu aurais des données de D2 à D20) d'où le For n=2 to 20 ..... Next n

Par contre pour la question de fermeture de l'UF je ne comprends pas ta question puisqu'à sa fermeture on est bien sur la feuille Base de données et pas sur paramètres !
Par contre si tu veux afficher une autre feuille à la fermeture de l'UF tu rajoutes cette Sub :
Private Sub UserForm_Terminate()
Sheets(ici le n° ou le nom de la feuille).Select
End Sub


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
14 mai 2016 à 20:51
pour la fermeture cela fonctionne pas. me fait un bug
ne veux pas se mettre autre pars que sur la feuille des bases de données.
en gros je veux pas qu'elle reste sur cette feuille, mais ferme pour se remettre par exemple sur une feuille appeler saisi, ou se trouverai un bouton qui lancerai l'userform..
et non pas comme actuellement reste sur la feuille bases de données
0
via55 Messages postés 14512 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 janvier 2025 2 741
14 mai 2016 à 22:06
Ok , dans ce cas :

https://www.cjoint.com/c/FEouesGuXJD

J'ai rajouté une procédure qui au clic sur Enregistrement vérifie que tout le formulaire est rempli sinon refus d'enregistrer
Et un ligne pour afficher un message lorsque l'enregistrement a bien été effectué

Cdlmnt
Via
0