Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

controle saisie d'uns Textbox avec condition

11 réponses
Avatar
Alex
Bonjour =E0 tous,

Sur une Textbox, je voudrais faire un cont=F4le de saisie avec
condition, a savoir qu'en fonction de la valeur d'une autre Textbox,
la saisie est diff=E9rente. Si dans la seconde textbox, la valeur est
"APPT" ou "PARK" alors la saisie doit =EAtre une ann=E9e (Ex : 2010), si
la valeur est diff=E9rente de APPT ou PARK, alors la valeur =E0 saisir
doit =EAtre une date (Ex : 28/01/2010). Alors j'ai =E9crit ceci, mais =E7a
beug :

If Me.TYP.Value =3D "APPT" Or Me.TYP.Value =3D "PARK" Then
If Not CDbl(Me.DBAIL) Then
MsgBox "Dans le cas d'une Relocation de type Appt. ou Park." & Chr(13)
_
& "Veuillez saisir l'ann=E9e du bail, selon le format suivant AAAA (Ex :
2010). SVP"
Else
If Not IsDate(Me.DBAIL) Then
MsgBox "Dans le cas d'une Relocation autre que Appt. ou Park." & Chr
(13) _
& "Veuillez saisir la date selon le format suivant JJ/MM/AA, SVP"
End If
End If
End If

Quelqu'un aurait il la solution =E0 mon probl=E8me.
Merci par avance de vos r=E9ponses.
Alex

10 réponses

1 2
Avatar
FFO
Salut à toi

Il aurait été interressant de connaitre sur quelle ligne celà bug

Je mettrais à la place de :

If Not CDbl(Me.DBAIL) Then

plutôt :

If IsNumeric(Me.DBAIL) And Len(Me.DBAIL) = 4 Then

Qui revient à dire :

Si Me.DBAIL est numérique et de longueur 4 caractères pour détecter la
saisie d'une année


Peut être du mieux pour toi

Dis moi !!!!!!
Avatar
Alex
Bonjour FFO,

Merci de ta réponse.
Malheureusement, j'ai testé et même avec comme condition APPT ou PARK,
j'ai toujours le message 2, à croire qu'il ne lit pas le 1er msgbox ?
Avatar
FFO
Rebonjour à toi

Peux tu transmettre sans donnée confidentielle ton fichier par ce biais :

http://www.cijoint.fr/index.php

Communiques le lien pour le récupérer
Avatar
Alex
On 28 jan, 16:55, FFO wrote:
Rebonjour à toi

Peux tu transmettre sans donnée confidentielle ton fichier par ce biais :

http://www.cijoint.fr/index.php

Communiques le lien pour le récupérer



Le numéro de fichier est http://www.cijoint.fr/cjlink.php?file=cj201001 /cijhXlhgKx.xls

Merci d'avance
Alex
Avatar
FFO
Rebonjour Alex

Aprés analyse de tes codes si tu souhaites vérifier la conformité de la
saisie d'un Textbox il est necessaire d'attendre que l'utilisateur l'ai
effectivement terminée pour l'effectuer
Or le code mis dans l'éditeur du TextBox "DBAIL" réagit à chaque entrée
d'une donnée dans celui-ci donc ne permet pas d'attendre l'intégralité de la
saisie pour s'exécuter

Il faudrait mettre ce code soit dans l'éditeur d'un autre TextBox qui serait
saisie obligatoirement aprés (on peux obliger l'intervenant à saisir ces 2
TextBox "TYP" et "DBAIL" en priorité) soit dans l'éditeur d'un bouton
("VALIDER SAISIE" par exemple)

Peux tu me dire ce que tu souhaiterais afin que j'adapte au mieux ton document

Merci
Avatar
Alex
Merci de ta réponse.
En effet, le mieux c'est de le faire sur le bouton Valider saisie.
Merci de ton aide.
Cordialement.
Alex
Avatar
FFO
Rebonjour Alex

J'ai donc mis dans l'éditeur du bouton "VALIDER SAISIE" ce code :

If Me.TYP.Value = "APPT" Or Me.TYP.Value = "PARK" Then
If Me.DBAIL <> "" And IsNumeric(Me.DBAIL) = False Or Me.DBAIL <> "" And
Len(Me.DBAIL) <> 4 Then
MsgBox "Dans le cas d'une Relocation de type Appt. ou Park." & Chr(13) _
& "Veuillez saisir l'année du bail, selon le format suivant AAAA (Ex :
2010). SVP"
Me.DBAIL = ""
End If
Else
If Not IsDate(Me.DBAIL) Then
MsgBox "Dans le cas d'une Relocation autre que Appt. ou Park." & Chr(13) _
& "Veuillez saisir la date selon le format suivant JJ/MM/AA, SVP"
Me.DBAIL = ""
End If
End If

Tu trouveras ainsi ton document sur ce lien

http://www.cijoint.fr/cjlink.php?file=cj201002/cijrSX1If8.xls

Ouvres le

Pour activer le Userform j'ai ajouté la Macro "Userform"

Actives là

Réalises des saisies dans les TextBox "TYP" et "DBAIL"

Puis clique sur le bouton "VALIDER SAISIE"

Si les saisies sont correctes aucun message
Si les saisies sont incorrectes apparition de l'un ou l'autre message avec
suppression de la saisie dans le TexBox "DBAIL"

Fais des essais et dis moi !!!!!!
Avatar
Alex
Super grand merci, je vais testé cela et te tiens informé.

As tu pu voir ma secode demande, concernant l'histoire de la virgule
et non le point pour la saisie des montants ?

Alex
Avatar
Alex
Bonsoir FFO

J'ai testé c'est vraiment super, cela fonctionne tres bien.
Meci de ton aide précieuse.
Cordialement.
Alex
Avatar
FFO
Rebonjour à toi

Trés content que celà te satisfasse

Concernant ta 2° demande (Virgule et non le point) je ne vois où elle est

De toute façon si tu veux opter pour l'un ou l'autre dans la saisie de tes
montant il faut paramétrer en correspondance les Options Régionales dans le
Panneau de configuration :

Panneau de configuration/Options régionales et linguistique
Onglet "Options régionales" cliques sur Personnaliser
Onglet "Nombre" choisi dans la fenêtre "Symbole décimal" le symbole souhaité

Fermes le Panneau de configuration
Aprés avoir fermé Excel réouvres le pour que la modification soit prise en
compte par cette application

Celà devrait fonctionner

Tiens moi informé !!!!!!
1 2