Bonjour à tous,
svp, soyez indulgent je suis vraiment débutant en vba.
J'ai réalisé un formulaire et je voudrais que si la personne indique une valeur hors de la plage, que la msg box lui indique les valeurs à respecter.
il s'agit de saisir la latitude d'un point GPS. la décimale est un point.
Tel que c'est là, la cellule ne s'affiche dans la bonne couleur que si la valeur est comprise dans la plage définie. ça ne crée pas de blocage et c'est très bien ainsi. Mais ça ne l'empêche pas non plus de laisser une valeur hors de la plage voulue et de la valider.
C'est l'objet des MsgBox qui sont destinées à indiquer un rappel plus évident.
Merci d'avance de votre aide et de votre indulgence. Voici le code de la TextBox :
les MsgBox sont mise en commentaire afin que mon formulaire fonctionne quand même et vous indique ce que je voudrais.
Le message d'erreur que j'ai est à la suite du code.
Private Sub TextBoxLatCor_Change()
Dim ValeurLatCor As Byte
TextBoxLatCor.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
ValeurLatCor = Len(TextBoxLatCor)
If ValeurLatCor = 2 Then TextBoxLatCor = TextBoxLatCor & "."
TextBoxLatCor = Replace(TextBoxLatCor, ",", "")
Dim var As Variant
varLatCor = TextBoxLatCor.Value
If Val(varLatCor) > 48.908 Then ' si la variable est supérieure à 48.908 alors VRAI
TextBoxLatCor.ForeColor = vbRed
TextBoxLatCor.BackColor = vbWhite
' MsgBox = " La valeur de latitude saisie est trop au Nord de ***********." ' & vbCrLf & La latitude de ********** est comprise entre 48.887 et 48.908."
ElseIf Val(varLatCor) < 48.887 Then ' si la variable est inférieure à 48.887 alors VRAI
TextBoxLatCor.ForeColor = vbRed
TextBoxLatCor.BackColor = vbWhite
' MsgBox = " La valeur de latitude saisie est trop au Sud de **********." ' & vbCrLf & La latitude de ********** est comprise entre 48.887 et 48.908."
Else ' si c'est dans la plage, affichage des couleurs par défaut
TextBoxLatCor.ForeColor = vbBlack
TextBoxLatCor.BackColor = &H80C0FF ' couleur par défaut
End If
End Sub
message d'erreur :
Erreur de compilation
Un appel de la fonction dans la partie gauche de l'affectation doit renvoyer Variant ou Objet.
Malgré le bouton d'aide, j'ai consulté la page, mais je suis comme une poule qui a trouvé un couteau...
merci d'avance de votre aide bienveillante.
papicx