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

formulaires : vérif valeur et mise à jour date (les bases !!!)

9 réponses
Avatar
pierre66
comment vérifier les valeurs entrées dans une textbox d'un formulaire
(pour message d'alerte bloquant la validation)

question subsidaire (simple je pense !) :
comment mettre à jour la date d'un calendrier à l'ouverture du formulaire en
question
CAL_date.Value = Date
marche bien à la fermeture du formulaire (pour la fois suivante !)
mais pas immédiatement à l'ouverture

--
cordialement

pierre,
perpignan

9 réponses

Avatar
isabelle
bonjour pierre,

quel sorte de valeur doit t'on entré dans le textbox ?

pour CAL_date.Value = Date, là tu mis dans UserForm_Initialize ?

isabelle

comment vérifier les valeurs entrées dans une textbox d'un formulaire
(pour message d'alerte bloquant la validation)

question subsidaire (simple je pense !) :
comment mettre à jour la date d'un calendrier à l'ouverture du formulaire en
question
CAL_date.Value = Date
marche bien à la fermeture du formulaire (pour la fois suivante !)
mais pas immédiatement à l'ouverture



Avatar
pierre66
merci de t'intéresser à mon apprentissage !!!
;-)

il me faut selon les textbox :
du texte (6 caractères avec un C ou un P au début : CA0056 ou PM0326)
du texte ou des chiffres (vérifier simplement que la textbox n'est pas vide )
des références avec un slash (22536/1)
des prix (j'ai vu qu'un simple espace met la panique : 2 530 au lieu de 2530 , idem si 2530 € évidemment)
tout ça est facile à vérifier dans Excel, mais dans VBA, je ne sais pas le

faire
du moins je ne sais pas PENDANT la saisie du formulaire

pour le calendrier, euh, non
je l'ai bêtement mis directement après l'ouverture du formulaire

Usf_saisie.Show vbModal
CAL_date.Value = Date
ensuite j'ai
Private Sub Bt_Annuler_Click()
Private Sub Bt_Saisie_commande_Click()

il faut une macro spécifique ?
mais comment se lance-t-elle ?
je suppose que Usf_saisie.Show vbModal agit comme l'ouverture d'une macro

--
merci par avance

pierre,
perpignan


bonjour pierre,

quel sorte de valeur doit t'on entré dans le textbox ?

pour CAL_date.Value = Date, là tu mis dans UserForm_Initialize ?

isabelle

comment vérifier les valeurs entrées dans une textbox d'un formulaire
(pour message d'alerte bloquant la validation)

question subsidaire (simple je pense !) :
comment mettre à jour la date d'un calendrier à l'ouverture du formulaire en
question
CAL_date.Value = Date
marche bien à la fermeture du formulaire (pour la fois suivante !)
mais pas immédiatement à l'ouverture






Avatar
isabelle
bonjour pierre,

voici des exemples à adapter pour les vérification,

'du texte (6 caractères avec un C ou un P au début : CA0056 ou PM0326)
If Len(TextBox1.value) = 6 And Left(TextBox1.value, 1) = "P" Or Left(TextBox1.value, 1) = "C" Then MsgBox "ok"

'du texte ou des chiffres (vérifier simplement que la textbox n'est pas vide )
If Not TextBox1.value = "" Then MsgBox "ok"

'des références avec un slash (22536/1)
If Right(TextBox1.value, 2) = "/" Then MsgBox "ok"

'des prix (j'ai vu qu'un simple espace met la panique : 2 530 au lieu de 2530 , idem si 2530 € évidemment)
If IsNumeric(TextBox1.value) Then MsgBox "ok"


isabelle


merci de t'intéresser à mon apprentissage !!!
;-)

il me faut selon les textbox :

du texte (6 caractères avec un C ou un P au début : CA0056 ou PM0326)
du texte ou des chiffres (vérifier simplement que la textbox n'est pas vide )
des références avec un slash (22536/1)
des prix (j'ai vu qu'un simple espace met la panique : 2 530 au lieu de 2530 , idem si 2530 € évidemment)


tout ça est facile à vérifier dans Excel, mais dans VBA, je ne sais pas le
faire
du moins je ne sais pas PENDANT la saisie du formulaire


pour le calendrier, euh, non


je l'ai bêtement mis directement après l'ouverture du formulaire
Usf_saisie.Show vbModal
CAL_date.Value = Date
ensuite j'ai
Private Sub Bt_Annuler_Click()
Private Sub Bt_Saisie_commande_Click()

il faut une macro spécifique ?
mais comment se lance-t-elle ?
je suppose que Usf_saisie.Show vbModal agit comme l'ouverture d'une macro




Avatar
pierre66
MERCI, ça m'a décoincé la comprenette !

pour info, IsNumeric ne vérifie pas s'il n'y a pas un blanc entre les nombres

c'est vicieux car par exemple 92 530 (tapé avec un espace en séparation de
milliers) est un nombre pour VBA mais un texte pour excel !
il n'est donc pas pris en compte dans les moyennes, totaux, ...

je m'en sors avec un bête rechercher-remplacer dans ma feuille

ps intéressé :
pour la mise à jour automatique du calendrier, un tu as une idée ?

--
cordialement
Avatar
isabelle
bonjour pierre,

Private Sub UserForm_Initialize()
CAL_date.Value = Date
End Sub

isabelle


MERCI, ça m'a décoincé la comprenette !

pour info, IsNumeric ne vérifie pas s'il n'y a pas un blanc entre les nombres

c'est vicieux car par exemple 92 530 (tapé avec un espace en séparation de
milliers) est un nombre pour VBA mais un texte pour excel !
il n'est donc pas pris en compte dans les moyennes, totaux, ...

je m'en sors avec un bête rechercher-remplacer dans ma feuille

ps intéressé :
pour la mise à jour automatique du calendrier, un tu as une idée ?



Avatar
pierre66
je voulais pas insister
mais j'y arrive pas ...
même avec Private Sub Usfsaisie_Initialize()
Load Usfsaisie
CAL_date.value= Date
Usfsaisie.Show
End Sub

l'affichage par défaut reste obstinément au 04/07/2005
;-(

comment appeler cette macro
je précise que c'est un calendrier DTPicker ("rétractile")
Avatar
pierre66
MERCI ENCORE !

j'ai ramé parce que je m'obstinais à écrire le nom de mon formulaire
Usf_saisie_initialize
Usfsaisie_initialize, ...

quand j'ai enfin compris que c'était bien UserForm_initialize, ça a marché
comme quoi
un qui sait
vaut mieux
qu'un qui pense adapter
:-)
Avatar
isabelle
bonjour pierre,

ces deux lignes,
Load Usfsaisie
Usfsaisie.Show
ne doivent pas être mis dans la procédure Usfsaisie_Initialize

isabelle


je voulais pas insister
mais j'y arrive pas ...
même avec Private Sub Usfsaisie_Initialize()
Load Usfsaisie
CAL_date.value= Date
Usfsaisie.Show
End Sub

l'affichage par défaut reste obstinément au 04/07/2005
;-(

comment appeler cette macro
je précise que c'est un calendrier DTPicker ("rétractile")


Avatar
isabelle
ha ! j'suis rassuré et bien heureuse,

pour le textbox qui est mit à jour avec espace comme séparateur de millier, tu pourrais ajouter cette procédure pour
modifier l'entré.

Private Sub TextBox1_AfterUpdate()
TextBox1.Value = TextBox1.Value * 1
End Sub

isabelle


MERCI ENCORE !

j'ai ramé parce que je m'obstinais à écrire le nom de mon formulaire
Usf_saisie_initialize
Usfsaisie_initialize, ...

quand j'ai enfin compris que c'était bien UserForm_initialize, ça a marché
comme quoi
un qui sait
vaut mieux
qu'un qui pense adapter
:-)