XL 2019 calcul complexe de tarifs

youpi457032

XLDnaute Occasionnel
Bonjour,
Je cherche à finaliser définitivement mon classeur. D'ailleurs il est prêt.
J'ai juste un dernier problème. J'ai un formulaire élève avec 6 combobox qui me permettent de choisir des cours parmi une liste de cours (liste global en colonne A feuille références)
Dans ma feuille références, j'ai 5 colonnes (G à K ) qui me servent à différencier mes tarifs en fonction de l'intitulé des cours...
Explication par l'exemple : si dans ma combox T14 il y a le cours A et que le cours A est listé dans la colonne K alors aplliquer macro du Tarif pour colonne K...
ET ainsi de suite....
J'ai des textbox (T49 à T53) qui compilent le calcul additionnel, pour faire simple, de ces 5 tarifs différents (colonne G à K)
Alors ma macro fonctionne, mais de manière totalement aléatoire et désordonnée.... Dans certains cas elle va bien faire le taf, et des fois non.... sans aucune logique ... ! ( sûrment mon absence de logique à moi 🙄😥
Je pense l'avoir mal écrite....ou les proriétés de mes Combox et textbox ne sont pas bonnes.... en tout cas ce n'est absolument pas stable....
Je souhaiterais une solution macro (ou correction de ma macro) qui me stabilise et me fiabilise à 100 % mon calcul de tarifs.... AVec une vraie réactivité en temsp réel de mes Textbox qui me font mon calcul de prix, en fonction du choix de mes combobox choix de cours.
Tout cela est piloté par le formulaire_élèves.
Si quelqu'un ou quelqu'une peut jeter un "Z'oeil" à mon problème, ce serait vraiment cool, parce que mon fichier serait définitivment terminé !
Comme d'habitude en pièce jointe, mon fichier anonymisé !
J'ai viré mon tableau de bord (feuille 5), qui me permet de lancer tout mes userforms... ( car trop lourd pour être upé ! )
On peut quand même tester je pense, le fichier par l'onglet developeur....
 

Pièces jointes

  • formulaire élèves correction macro prix.xlsm
    663.4 KB · Affichages: 11

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Youpi,
Difficile de simuler le userform. Alors juste à la lecture du code :
Dans PrixCoursAdulte, vous avez ce code :
VB:
        For z = 2 To .Range("J" & Rows.Count).End(xlUp).Row   'Cours mensuels
            If .Range("J" & z) = Controls("T" & i) Then
                tarif = "mensu"
                Exit For
            End If
        
            If .Range("K" & z) = Controls("T" & i) Then 'cours adultes
                tarif = "adulte"
                Exit For
            End If
           .....
"z" va de 2 à la dernière cellule de la colonne J. ( en l'occurrence 3 )
et vous analysez les Controls par rapport à cet index mais les cours adultes vont de 2 à 22, les cours enfants de 2 à 9.
Je ne comprends pas la logique. Pourquoi s'arrêter à la dernière ligne de J quand on analyse la colonne I ?
Si vous cherchez une identité, il me semble qu'il faudrait vérifier sur l'ensemble des items et recalculer z sur chaque colonne. Non ?
 

youpi457032

XLDnaute Occasionnel
Bonjour Sylvanu,
Je reviens vers vous un peu tardivement. Navré.
J'ai pu corriger partiellement mon code comme je le souhaiterais. Le calcul Tatif fonctionne désormais correctement... Je me suis basé sur ce votre analyse pour corriger mon code....
Il mereste juste une petite difficulté... Je voudrais plus de réactivité de ma macro... Actuellement, il me faut intervenir dans mes combobox T14 à T19, pour que mes tarifs s'actualisent.... même si je rentres des paiements, les données ne sont pas instantanément actualisées. Existe-t-il une solution pour rendre plus dynamique toute cela, plus fluide ?
Merci,
 

Discussions similaires

Réponses
6
Affichages
301
Réponses
3
Affichages
532