Tu va trop vite, je demande simplement de gérer les options boutons, laisse le reste en suspend et concentre toi sur les 2 options de classe
(Je t’ai remis ton classeur sans mes demandes de Spin, Scroolbar et Chekbox)
Private Sub OB1_Change()
If OB1.Value = True And OB2.Value = False Then 'Si OB1 cocher et OB2 non cochet
LClasse = "1° Classe" 'Alors mettre dans LClasse 1°Classe
Else 'Sinon
LClasse = ""
End If
End Sub
Private Sub OB1_Click() serait mieux
L’ajout And OB2.Value = False pas besoin, c’est une option, si c’est pas un c’est l’autre
Ceci également Else 'Sinon LClasse = ""
Idem pour l’autre bouton
Et je n’ai pas demandé d’ajouter un label pour savoir la classe, la classe c’est celle qui est cochée, d’où le fait
qu’un des 2 boutons soit coché à l’ouverture de l’USF, soit par un ajout dans userform initialize, soit dans les propriétés (on va dire 2° classe coché à l’ouverture)
Ensuite, comme on connait la “LigneDestination” (N° de la ligne dans Tarifs pour la Destination), il suffit d’inscrire dans le label du prix, sur la formule déjà existante, le bon tarif qui se trouve soit en colonne 2 ou 3 , et son report sur l’appui de la sauvegarde
Mais je vois que tu as déjà jeté un sur les propriétés des contrôles cela donnera de l’avance pour la suite
Bon, tu as un peu triché en ajoutant un “Prix unitaire”.
De plus, le prix total n’est pas remis à jour en changeant de classe, mais je t’accorde la solution
et comme tu as été plus vite que la musique en ajoutant le SpinButton, on passe une étape
pour jouer avec la remise
Suite de l’exercice N3. Elle contient la correction de la partie 1 (pour les Tarifs),
ainsi que les premiers pas de la partie 2
Le bouton SAUVEGARDER enregistre le Nom, la Destination et le Prix à payer pour
la 1ère ou 2ème Classe du TARIFS,et le Nb de billets
Maintenant, avec le ScrollBar, on attribue une remise allant de 0 à 50% max
Le Prix à payer dans le Label doit être dynamique. Exercice N°3 - Partie 2.xlsm (77,2 Ko)
N’oubliez pas de jeter un œil dans l’onglet Complément
C’est qui qui disait que je commençais un peu fort
Superbe,
pour me ravir, j’aimerais avant que tu puisse continuer avec le Checkbok me faire l’initialisation du Scrollbar, mais en VBA, dans le style du SpinButton
Ensuite pour le ChekBox, quand il n’est pas coché, on inscrit dans son Label “Aller simple”, et “Aller-Retour” s’il est coché, avec le prix qui ira du simple au double
Voilà, je pense que je suis bon sur cette action, bien que je cherchais a faire compliquer pour multiplier le prix par 2 avec le Checkbok, alors que c’était si simple.
J’ai initialiser le Scrollbar en VBA.
Mais si tu avais regardé les déclaration de variable, il y en a une qui se nomme “Trajet” et qui n’est pas utilisée
Tu aurais continué dans la macro “Calcul” à reprendre la valeur pour TRAJET, soit 1 si c’est pas coché et 2 si c’est coché, tu aurais ajouté à la formule cette variable
Néanmoins, le formulaire est tout à fait fonctionnel
BRAVO et à la prochaine étape (qui sera du gâteau pour toi, du-moins la 1ère)
C’est sur que tu pourrais être avantagé par rapport au modèle que tu as fourni, cependant, comme je suis un « vieux vicieux », tu as remarqué que les contrôles ont un nom, d’où un premier Bin’s
Pas de favoritisme chez moi, c’est pour votre bien-être de la matière grise
Peut-on prendre le code VBA des précèdent exercices
Si oui voila ce que j’ais fais
Option Explicit
Private Sub TNom_AfterUpdate()
'Formate le TextBox avec le première lettre de chaque mot en majuscule
Me.TNom.Value = Application.Proper(Me.TNom.Value)
'Place le curseur sur le ComboBox de destination
TNom.SetFocus
End Sub
Private Sub TPrenom_AfterUpdate()
'Formate le TextBox avec le première lettre de chaque mot en majuscule
Me.TPrenom.Value = Application.Proper(Me.TPrenom.Value)
'Place le curseur sur le ComboBox de destination
TPrenom.SetFocus
End Sub
Private Sub Btn_Quitter_Click()
USFClients.Hide
End Sub
Bien sur que tu peut les utiliser.
D’ailleurs, je vous précise que de mon côté, j’ai un bloc note sur mon bureau avec des lignes toutes faites que je copie colle dans les montages du genre pour la Dl (dernière ligne) Dc (dernière colonne) ,etc
Le but final est d’avoir un programme qui fonctionne