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

jbbaudouin 37 Messages postés mardi 12 avril 2011Date d'inscription 18 janvier 2016 Dernière intervention - 15 oct. 2015 à 17:18 - Dernière réponse : ucfoutu 18030 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 22 janvier 2018 Dernière intervention
- 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

Répondre au sujet
ucfoutu 18030 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 22 janvier 2018 Dernière intervention - Modifié par ucfoutu le 15/10/2015 à 19:51
0
Utile
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.