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

Formfield

7 réponses
Avatar
Jean-Paul
Bonsoir,

J'ai créé un formulaire (Formfield) dans Word avec entre autre des
champs texte (Textbox) dont certains sont paramétrés pour n'accepter que
des nombres. Malgré ce paramétrage, sur mon PC, les champs acceptent les
lettres "h" et "t" (en minuscule seulement) et sur le PC d'une collègue
d'autres lettres sont acceptées. D'où cela peut-il bien provenir ?

Merci de votre aide.

Jean-Paul

7 réponses

Avatar
Circé
Bonsoir Jean-Paul,

Je viens effectivement de vérifier... Chez moi le t est accepté !
Jamais personne n'a relevé cette anomalie ! Bizarre...

Quitte à utiliser une macro, il me semble qu'il vaudrait mieux alors
utiliser un contrôle qui permet de vérifier la saisie en cours de
saisie, et non une fois être sorti du champ. Les formulaires
(Formfield) dans Word sont assez primaires !

Pour vérifier la saisie dans un contrôle, voici la macro que tu peux
utiliser :


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Beep
MsgBox "Saisissez un nombre !"
End If


End Sub

Circé
http://faqword.free.fr


Jean-Paul a formulé ce jeudi :
Bonsoir,

J'ai créé un formulaire (Formfield) dans Word avec entre autre des champs
texte (Textbox) dont certains sont paramétrés pour n'accepter que des
nombres. Malgré ce paramétrage, sur mon PC, les champs acceptent les lettres
"h" et "t" (en minuscule seulement) et sur le PC d'une collègue d'autres
lettres sont acceptées. D'où cela peut-il bien provenir ?

Merci de votre aide.

Jean-Paul


Avatar
Jean-Paul
Bonsoir Circé,

Merci Circé de ta réponse, cela confirme que je n'ai pas la berlue.

Pour autant mon problème n'est pas vraiment résolu. en effet mon
formulaire fait 29 pages ou plus exactement 29 sections, chacune d'elle
faisant 1 page. Donc dans ce formulaire il y a des dizaines de champs
texte paramétrés Nombre.

Ce que je souhaiterais, c'est de pouvoir mettre une macro générique à
l'entrée ou à la sortie du champ - macro valable pour tout les champs.

Merci pour ton aide précieuse.

Jean-Paul




Circé a écrit :
Bonsoir Jean-Paul,

Je viens effectivement de vérifier... Chez moi le t est accepté ! Jamais
personne n'a relevé cette anomalie ! Bizarre...

Quitte à utiliser une macro, il me semble qu'il vaudrait mieux alors
utiliser un contrôle qui permet de vérifier la saisie en cours de
saisie, et non une fois être sorti du champ. Les formulaires (Formfield)
dans Word sont assez primaires !

Pour vérifier la saisie dans un contrôle, voici la macro que tu peux
utiliser :


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Beep
MsgBox "Saisissez un nombre !"
End If


End Sub

Circé
http://faqword.free.fr


Jean-Paul a formulé ce jeudi :
Bonsoir,

J'ai créé un formulaire (Formfield) dans Word avec entre autre des
champs texte (Textbox) dont certains sont paramétrés pour n'accepter
que des nombres. Malgré ce paramétrage, sur mon PC, les champs
acceptent les lettres "h" et "t" (en minuscule seulement) et sur le PC
d'une collègue d'autres lettres sont acceptées. D'où cela peut-il bien
provenir ?

Merci de votre aide.

Jean-Paul






Avatar
Circé
Bonsoir,

Jean-Paul avait prétendu :
Bonsoir Circé,

Merci Circé de ta réponse, cela confirme que je n'ai pas la berlue.

Pour autant mon problème n'est pas vraiment résolu. en effet mon formulaire
fait 29 pages ou plus exactement 29 sections, chacune d'elle faisant 1 page.
Donc dans ce formulaire il y a des dizaines de champs texte paramétrés
Nombre.

Ce que je souhaiterais, c'est de pouvoir mettre une macro générique à
l'entrée ou à la sortie du champ - macro valable pour tout les champs.



Je ne vois pas comment faire une macro générique du fait que la macro
s'applique à un bookmark précis, même s'il y en a 30. On ne peut pas
faire de boucle, puisque le test porte uniquement sur ce qu'on vient de
saisir dans la textbox en question.

Voici une macro :

Sub test

Dim test
test = IsNumeric(ActiveDocument.Bookmarks("texte1").Range.Text)
If test = False Then
MsgBox "attention, veuillez saisir un nombre"
End If

End Sub

Si Geo passe par là, il aura peut être (ou sûrement...) une autre
idée...

Circé
http://faqword.free.fr

Merci pour ton aide précieuse.

Jean-Paul




Circé a écrit :
Bonsoir Jean-Paul,

Je viens effectivement de vérifier... Chez moi le t est accepté ! Jamais
personne n'a relevé cette anomalie ! Bizarre...

Quitte à utiliser une macro, il me semble qu'il vaudrait mieux alors
utiliser un contrôle qui permet de vérifier la saisie en cours de saisie,
et non une fois être sorti du champ. Les formulaires (Formfield) dans Word
sont assez primaires !

Pour vérifier la saisie dans un contrôle, voici la macro que tu peux
utiliser :


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Beep
MsgBox "Saisissez un nombre !"
End If


End Sub

Circé
http://faqword.free.fr


Jean-Paul a formulé ce jeudi :
Bonsoir,

J'ai créé un formulaire (Formfield) dans Word avec entre autre des champs
texte (Textbox) dont certains sont paramétrés pour n'accepter que des
nombres. Malgré ce paramétrage, sur mon PC, les champs acceptent les
lettres "h" et "t" (en minuscule seulement) et sur le PC d'une collègue
d'autres lettres sont acceptées. D'où cela peut-il bien provenir ?

Merci de votre aide.

Jean-Paul








Avatar
Jean-Paul
Circé,

Je l'avoue le VBA et moi ça fait 2, voire plus.

Je pensais qu'il était possible de faire une macro qui s'appliquerait à
la TextBox active.

Compte tenu du nombre important de TextBox paramétrées Nombre, je pense
que je vais laisser tomber la vérification, tant-pis pour les
éventuelles lettres qui se glisseront dans ces champs.

Merci de ta coopération.
et vu l'heure bonne nuit.

Jean-Paul


Circé a écrit :
Bonsoir,

Jean-Paul avait prétendu :
Bonsoir Circé,

Merci Circé de ta réponse, cela confirme que je n'ai pas la berlue.

Pour autant mon problème n'est pas vraiment résolu. en effet mon
formulaire fait 29 pages ou plus exactement 29 sections, chacune
d'elle faisant 1 page. Donc dans ce formulaire il y a des dizaines de
champs texte paramétrés Nombre.

Ce que je souhaiterais, c'est de pouvoir mettre une macro générique à
l'entrée ou à la sortie du champ - macro valable pour tout les champs.



Je ne vois pas comment faire une macro générique du fait que la macro
s'applique à un bookmark précis, même s'il y en a 30. On ne peut pas
faire de boucle, puisque le test porte uniquement sur ce qu'on vient de
saisir dans la textbox en question.

Voici une macro :

Sub test

Dim test
test = IsNumeric(ActiveDocument.Bookmarks("texte1").Range.Text)
If test = False Then
MsgBox "attention, veuillez saisir un nombre"
End If

End Sub

Si Geo passe par là, il aura peut être (ou sûrement...) une autre idée...

Circé
http://faqword.free.fr

Merci pour ton aide précieuse.

Jean-Paul




Circé a écrit :
Bonsoir Jean-Paul,

Je viens effectivement de vérifier... Chez moi le t est accepté !
Jamais personne n'a relevé cette anomalie ! Bizarre...

Quitte à utiliser une macro, il me semble qu'il vaudrait mieux alors
utiliser un contrôle qui permet de vérifier la saisie en cours de
saisie, et non une fois être sorti du champ. Les formulaires
(Formfield) dans Word sont assez primaires !

Pour vérifier la saisie dans un contrôle, voici la macro que tu peux
utiliser :


Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If InStr("0123456789,", Chr(KeyAscii)) = 0 Then
KeyAscii = 0
Beep
MsgBox "Saisissez un nombre !"
End If


End Sub

Circé
http://faqword.free.fr


Jean-Paul a formulé ce jeudi :
Bonsoir,

J'ai créé un formulaire (Formfield) dans Word avec entre autre des
champs texte (Textbox) dont certains sont paramétrés pour n'accepter
que des nombres. Malgré ce paramétrage, sur mon PC, les champs
acceptent les lettres "h" et "t" (en minuscule seulement) et sur le
PC d'une collègue d'autres lettres sont acceptées. D'où cela peut-il
bien provenir ?

Merci de votre aide.

Jean-Paul












Avatar
Geo
Bonjour

Je pensais qu'il était possible de faire une macro qui s'appliquerait à la TextBox
active.



La macro est associée au champ.
Si la macro était standard et appliquée au champ courant, il faudrait
la déclencher.
On peut imaginer de lancer une macro à chaque modification du texte,
mais ça devient très lourd et il faut que la machine soit assez
puissante.

--
A+
Avatar
Circé
Bonjour Geo,

Geo avait énoncé :
Bonjour

Je pensais qu'il était possible de faire une macro qui s'appliquerait à la
TextBox active.



La macro est associée au champ.
Si la macro était standard et appliquée au champ courant, il faudrait la
déclencher.
On peut imaginer de lancer une macro à chaque modification du texte, mais ça
devient très lourd et il faut que la machine soit assez puissante.



Tu confirmes bien ce que javançais... Voilà pourquoi la solution des
contrôles avec justement contrôle à la saisie me paraissait mieux
appropriée. Il suffisait d'une seule macro.

As-tu, toi aussi, constaté qu'on pouvait saisir des lettres en ayant
imposé du numérique ?

Circé
http://faqword;free.fr
Avatar
Geo
Bonjour à Circé qui nous a écrit :

As-tu, toi aussi, constaté qu'on pouvait saisir des lettres en ayant imposé du
numérique ?



Oui, mais ça dépend du format aussi.
Si on met nombre sans format, toutes les lettres ont l'air de passer.
Si on met un format c'est plus restrictif certaines lettres passent
mais pas toutes.
h et t m'ont fait penser à un format de date.
Ce qui est troublant c'est que ce soit différent d'un poste à l'autre.
Le paramétrage régional ?

--
A+