![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour tout le monde
petit souci avec un spinbutton incrémentant un label voila un extrait du code : Private Sub SpinButton1_SpinDown() UserForm1.SpinButton1.Min = 0 UserForm1.SpinButton1.Max = 31 UserForm1.Label3.Caption = UserForm1.Label3.Caption - 1 ce code devrait interdire d'aller en dessous de 0 ou au dessus de 31 mais ça ne marche pas (j'en suis triste). ou est mon souci, qu'elle erreur de code ai-je bien pu commettre, pourquoi je suis nul en VBA................ merci pour vos réponse. Hervé |
| ANNONCES | |||
|
|
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
resalut,
je me permet de relancer ce post car je n'ai pas trouvé de solution. et au boulot des petits malins s'amusent à dépasser les critères des spin button de l'appli, foutant ainsi un joli b....l. en vous remerciant d'avance pour votre aide. salut Hervé |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
pas vraiment étonnant que ça ne marche pas. Tu n'utilises pas le bon événement, tu réinitialises les min et max de ton spin à chaque clic et tu ne mets absolument pas la valeur reflétée par ton spin dans ton label.
Donc, déjà, tu peux définir ton min et max directement dans les propriétés comme te le dit Gérard, ou si tu y tiens vraiment, mets les simplement dans ton Userform_Initialize, mais certainement pas dans ton Spinbutton1_SpinDown Ensuite, utilise l'événement Change simplement comme ceci : Private Sub SpinButton1_Change() Label3.Caption = SpinButton1.Value End Sub et tu n'auras plus de problème de dépassement de tes limites. Pas besoin de qualifier tous tes controles par Userform1 (UserForm1.Label3), c'est inutile et générateur d'erreurs si tu changes le nom de ton Userform. A la limite, écris Me.SpinButton1. Moi je ne mets rien du tout et ça va plus vite... |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
salut ti
merci pour la solution à mon problème. Mais j'ai "senti" de l'énervement dans ton post. Je me met au VBA sur le tard et pour raison professionnel, donc désolé si je n'utilise pas les bons événements et si je nomme tous mes controles pour éviter de me paumer. bonne soirée à toi Hervé |
|
|
#9 (permalink) |
|
Guest
Messages: n/a
|
Bonsoir ou bon ronflements !!!
Ti est comme çà et si on le connait on ne lui en veut pas du tout car il a une générosité inégalée dans le partage de connaissance sur ce Forum (d'ailleurs je me demande ce qu'il peut apprendre encore ici !! lol) (PS c'est moi qui lui est appris LOL !!!! (lol, lol, lol !!!) Et sinon Ti , "me" y en a pas d'accord ...... "Moi je ne mets rien du tout et ça va plus vite Me y en a taper "me." et hop : Me.TousLesControlesPossiblesDeMonUserForm en liste déroulante sous VBE....... Sans les taper.... Juste ===> "Me." Me y en a très content comme ça car je tape pas et je trouve mes contrôles sans erreur de syntax !!! Me y en a peut apprendre queqchose à Ti !!! Bonne Nuit à Ti à Me and à You ! @+Thierry |
|
|
#10 (permalink) |
|
Guest
Messages: n/a
|
Arf, je savais Thierry, que tu allais passer par derrière en lisant ça. Oui, d'accord avec toi, c'est pourquoi je signalais à Hervé qu'on pouvait utiliser Me.Etc., mais il n'empêche que je ne l'utilise jamais.
En fait, voici comment je procède : quand je m'occupe d'un contrôle, je clique dessus (et j'obtiens par cette action son événement par défaut). Ensuite chaque fois que je veux programmer un nouvel événement, je me place sur une de ses macros et dans la fenêtre Propriétés, je sélectionne l'événement que je veux gérer. Par contre, si je fais référence à un autre contrôle dans une macro, alors oui, je me tape tout à la main : mais c'est bon pour l'agilité des doigts ! :-) |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|