Msg et fonction if, j'ai un message d'erreur

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

Bonjour,

Si ce n'est pas le cas relisez :

https://forum.excel-pratique.com/excel/a-lire-avant-de-poster-charte-du-forum-et-informations-utiles...

... Et joignez le fichier et le formulaire en question de telle sorte qu'il soit utilisable.

Quand vous citez du code sur le fil utilisez cette icône qui préserve l'indentation :

balise

Inutile dans un premier temps de joindre d'autre données puisque nous ne travaillons que sur le formulaire.

A+

Bonjour,

Retirez le = entre msgBox et le message ;)

MsgBox = " La valeur de latitude saisie est trop au Nord de ***********." ' & vbCrLf & La latitude de ********** est comprise entre 48.887 et 48.908."

doit etre ecrit

MsgBox "La valeur de latitude saisie est trop au Nord de ***********."  & vbCrLf & "La latitude de ********** est comprise entre 48.887 et 48.908."

Merci Saboh12617,

c'est une erreur de débutant.
Merci bien.
Cependant, la msgBox s'affiche trop tôt. je vais faire un autre sujet.

désolé Galopin, j'ai fait un bête copier-coller dans la fenêtre de code et l'indentation à foutu le camp.

Rechercher des sujets similaires à "msg fonction message erreur"