Userform contrôle

capture d ecran 2016 03 03 15 24 29

Bonjour,

J'ai créé un Userform pour que l'utilisateur puisse modifier le prix d'un ticket pour les internes et les externes (voir l'imprécr ci-contre). Mais j'ai également souhaité rajouter un contrôle de la saisie pour que l'utilisateur n'entre pas n'importe quel prix, ou qu'il évite les erreurs de saisie (puisque ces données sont utilisées dans d'autres feuilles pour des calculs).

Cependant, le code que j'ai tapé ci-dessous ne fonctionne pas pour les externes. Pourtant, il me semble tout à fait logique !!!

La cellule C3 est modifiée lorsque le Userform est validé puisqu'une donnée est entrée dans la cellule (il y a donc une modification : utilisation de Change)

Puis il vérifie si la saisie est bien un nombre, si elle est bien comprise entre 1 et 5

Si c'est le cas, il active la cellule C4 (en dessous, qui est également à vérifier) et effectue les mêmes vérifications

Sauriez-vous ce qui ne fonctionne pas ?

J'espère que vous avez compris ce que je voulais vous expliquer, parce que c'est un peu compliqué pour moi à expliquer

Merci d'avance de votre aide,

Bon après midi

Code :

Private Sub Worksheet_Change(ByVal Target As Range)

' Permet de contrôler si les valeurs entrées sont acceptables_

' Ni trop haut_

' Ni trop bas_

' Ni erronées

If Target.Address = "$C$3" Then

'Contrôle pour les internes

If Not IsNumeric(Target) Then MsgBox "Valeur erronée saisie en interne"

If Range("C3").Value < 1 Then MsgBox "Le prix que vous avez saisi en interne est trop bas"

If Range("C3").Value >= 5 Then MsgBox "Le prix que vous avez saisi en interne est trop élevé"

If Range("C3").Value >= 1 And Range("C3").Value < 5 Then Range("C4").Activate

'Contrôle pour les externes

If Range("C4").Value < 1 Then MsgBox "Le prix que vous avez saisi en externe est trop bas"

If Range("C4").Value >= 5 Then MsgBox "Le prix que vous avez saisi en externe est trop élevé"

If Range("C4").Value >= 1 And Range("C4").Value < 5 Then Range("C5").Activate

If Not IsNumeric(Target) Then MsgBox "Valeur erronée saisie en interne"

End If

End Sub

Bonjour et bienvenu(e)

Pourquoi ne pas tester tes données lorsque tu appuies sur "Valider"

A tester

Mais quand je clique sur Valider, ça envoie bien les données saisies dans mon tableau mais ça effectue mal le contrôle...


Mais quand je clique sur Valider, ça envoie bien les données saisies dans mon tableau mais ça effectue mal le contrôle...

Bonjour

Kinfoalbane a écrit :

mais ça effectue mal le contrôle...

Cela ne veut rien dire

Soit plus précis, quel contrôle ?

Ah tu n'as pas essayé mon fichier

Ah merci beaucoup!!!

Je viens d'essayer! mais je rencontre le même problème avec ton userform:

si la valeur est trop basse/haute/erronée.. en interne = il n'y a pas de contrôle en externe :/

Bonjour

C'est normal

Dès qu'un défaut est constaté on le signale et on quitte la procédure, il faut corriger le problème pour que la prochaine fois la vérification continue

merci!!! je vais essayer de modifier mon code alors!

Rechercher des sujets similaires à "userform controle"