Contrôler une valeur d'entrée de formulaire [Résolu]

Messages postés
37
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
18 janvier 2016
- - Dernière réponse : 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
Afficher la suite 

1 réponse

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
217
0
Merci
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.
Commenter la réponse de ucfoutu