argument non facultatif pour textbox [VBA-EXCEL 2003] - VB/VBA/VBS - Programmation
Marsh Posté le 22-11-2005 à 11:28:08
Et qu'est-ce qui ne marche pas dans ta formule ?
Marsh Posté le 22-11-2005 à 12:33:02
Oki il faut que tu utilise val(expression) :
TotalAcompte = val(TextboxMontant1)+Val(TextBoxMontant2)....
@+
Marsh Posté le 22-11-2005 à 14:05:27
et comment je pourrais faire une boucle pour que ça soit moins long
genre :
Code :
|
Marsh Posté le 22-11-2005 à 15:11:04
Oui tu peux faire une macro comme celle-ci :
Code :
|
Et l'appeler quand tu la souhaites pour mettre à jour ton total (dans les procèdures textbox_change ou textbox_afterupdate par exemple).
@+
Marsh Posté le 22-11-2005 à 16:31:45
pourquoi ça marche pas
Code :
|
le message d'erreur
argument non facultatif => Val
Marsh Posté le 22-11-2005 à 16:46:36
sakuraba a écrit : pourquoi ça marche pas |
Parce que tu as enlevé les parenthèses là :
Range("A4" & i).Value = Val(.Controls("TextBoxMontant" & i).Value).
Edit : et également là :If IsNumeric(Val(.Controls("TextBoxMontant" & i).Value)) = true Then
et ici : Range("A4" & i).Value = Val(.Controls("TextBoxMontant" & i).Value)
@+
Marsh Posté le 22-11-2005 à 16:55:24
sakuraba a écrit : nan c est pas celui là |
Ben et avec les 3 ?
Marsh Posté le 22-11-2005 à 17:10:47
ça marche mais il ne fait toujours pas la difference entre un nombre et un caractere
le else ne sert à rien
Marsh Posté le 22-11-2005 à 17:29:33
sakuraba a écrit : ça marche mais il ne fait toujours pas la difference entre un nombre et un caractere |
C'est parce que val() sur des lettres renvois toujours 0. il faut enlever le val de ton isnumeric
Marsh Posté le 23-11-2005 à 11:11:21
Ca veut dire moi ou je en japonnais, mon pseudo remonte à une certaine crise d'identité
Et sakuraba ?
Marsh Posté le 23-11-2005 à 11:48:14
heu etant fan et pratiquant de sport de combat
je me suis approprié le prenom d'un combattant Kazushi Sakuraba japonais aussi
Marsh Posté le 23-11-2005 à 11:49:55
sakuraba a écrit : heu etant fan et pratiquant de sport de combat |
C'est po bien de voler
lollll
Marsh Posté le 23-11-2005 à 14:04:37
ReplyMarsh Posté le 23-11-2005 à 14:43:19
Je connaissais pas isnumber merci pour l'info
Marsh Posté le 23-11-2005 à 15:12:52
Redonnes ton code tel que tu l'as modifier et cequi marche pas exacteemnt. C'est toujours le else qui se fait pas ?
Marsh Posté le 23-11-2005 à 17:07:08
Code :
|
donc je voudrais faire
si j'ai pas eut de msgbox ouverte ds VerifAcompte j execute TotalAcompte
Marsh Posté le 23-11-2005 à 17:14:15
à la fin de Msg = MsgBox("La ligne d'acompte N° " & i & " n'est pas valide", vbCritical) j'ai mit exit sub
comme ça je vais pas à la fonction TotalAcompte
Marsh Posté le 23-11-2005 à 17:15:01
Ok je vois ce que tu veux faire.
Bon voilà ta fonction corrigée :
Code :
|
Mais elle marche seulement si tu mets en place pour tous tes textbox sauf montanttotal ceci :
Code :
|
Celà te fait : le contrôle de saisie numérique (isnumber désolée n'existe pas chez moi...) , le remplacement du "." saisi par la "," qui rend compréhensible, Ton montant total est mis à jour à chaque fin de saise dans un textbox.
bon courage
Marsh Posté le 23-11-2005 à 17:18:27
oups j'ai lu et répondu sans lire ton edit faut que je regarde ton histoire de verif accompte.
demain par contre
Edit : il te manque pleins de bout sur ta sub verif accmpte ... je comprends pas bien... tu lances quand chacune des macros ?
Marsh Posté le 23-11-2005 à 17:22:27
ReplyMarsh Posté le 23-11-2005 à 17:24:28
sakuraba a écrit : merci trop sympa de m aider à finir cette bombe de prog lol |
Je t'aide pas à faire des explosifs aumoins ni a enregistrer le paiement de leur accompte
lol
Marsh Posté le 24-11-2005 à 10:18:13
Code :
|
Code :
|
dans les fonctions j'ai des msgbox qui s'affiche s'il y a des erreurs donc je voudrais que s'il n'y a aucune msgbox qui se lance ( donc pas d erreur ds mon formulaire ) que ça deverrouille le bouton creation
Marsh Posté le 24-11-2005 à 10:53:00
Salut
Le mieux pour ça est de créer une variable booléenne (vrai ou faux). Tu lui donne un état de base, tu exécutes ton code. En cas d'erreur (donc dans le else), tu changes l'état de ta variable. A la fin, il te suffit d'activer ou non le bouton si la valeur de ta variable est ou non identique à celui du début.
C 'est clair ??? Sinon j'écrirais ça vite fais...
Marsh Posté le 24-11-2005 à 10:55:58
Au temps pour moi ça sert à rien vu le Exit SUb...
t'as cas désactiver le bouton au début (comme ça si tu sort de ta boucle il sera désactivé), et de le réactiver à la fin (si le programmes arrive jusque là c'est que tout c'est bien passé...).
Voilà j'espère que ça t'iras.
Marsh Posté le 24-11-2005 à 11:42:00
j'ai utilisé comme tu me l'as conseillé UserForm1.Creation.Enabled = False
Marsh Posté le 24-11-2005 à 14:22:32
oui
Marsh Posté le 24-11-2005 à 14:26:47
Code :
|
OBJET INTROUVABLE ??
Marsh Posté le 24-11-2005 à 14:28:23
trouvé j'avais supprimé une textbox
Marsh Posté le 22-11-2005 à 10:55:39
bonjour,
je voudrais additionner les nombres contenus ds les textbox pour les afficher ds une derniere nommée TextBoxMontantTotal
merci d'avance
Message édité par sakuraba le 22-11-2005 à 16:36:06