Contrôler une valeur d'entrée de formulaire

Résolu
jbbaudouin Messages postés 37 Date d'inscription mardi 12 avril 2011 Statut Membre Dernière intervention 18 janvier 2016 - 15 oct. 2015 à 17:18
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 15 oct. 2015 à 18:03
Bonjour à tous,
Je suis sur VBA 2013.
Je suis entrain de coder un formulaire et souhaiterais contrôler les valeurs d'entrée si celles-ci ne sont pas des variables "double".

J'ai utilisé l'instruction setfocus via Me.la_variable.setfocus, mais elle ne fonctionne pas. Egalement la fonction suivante

'Private Sub diam_nom_Exit(ByVal Cancel As msforms.ReturnBoolean)
'If Userform1.diam_nom.Value = "" Then
' Cancel = True
' MsgBox "Cette case doit être complétée | Saisir un nombre", vbCritical, "Erreur saisie"
'End If

mais je ne crois pas que l'instruction "msforms" soit reconnue, car elle reste en minuscule.

Je vous remercie par avance pour vos conseils/solutions.

Cordialement,

jbbaudouin

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 15/10/2015 à 19:51
Bonjour,
Si tu es dans cet évènement de ce contrôle, c'est que tu es sur l'userform qui contient ce contrôle !
Il est donc totalement inutile d'en préciser le nom !
Remplace donc, à ta guise, Userform1.diam_nom.Value par
diam_nom.Value
ou par
ActiveControl.value

J'ajoute que ton code, tel qu'écrit, ne peut que fonctionner (à condition que ton userform s'appelle bien UserForm1, que cette procédure évènementielle soit bien celle d'une textbox nommée diam_nom contenue dans un userform nommé Userform1 et qu'elle figure bien (cette procédure) dans le module de code de UserForm1) !!!

EDIT : j'ajoute ceci :
Les évènements concernant un contrôle d'un userform sont "ouverts" par l'éditeur de VBA en
1) ouvrant cet éditeur en doubhle-cliquant sur l'userform dont il s'agit
2) en choisissant dans la colonne de gauche le contrôle dont il s'agit
3) en choisissant dans la colonne de droite l'évènement dont il s'agit

Il est manifeste que tu n'as pas fait cela et que tu as copié/collé, je ne sais où, un bout de code ramassé je ne sais où ...
Si tu avais fait ce qu'il fallait (lire au dessus), tu n'en serais pas là !
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous