Formulaire sous Word

Résolu/Fermé
CHATOUNETTE - 24 mars 2020 à 23:28
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020 - 30 mars 2020 à 22:03
Bonsoir,
Je créais un formulaire sous Word et je n'arrive pas pour l'appellation Numéro de téléphone comment faire pour que lorsque la personne saisisse son numéro, ce dernier s'affiche pas tranche de 2 chiffre et un espace qui sépare les 10 chiffresj du genre (00 00 00 00 00). De même, pour l'appellation Numéro de Sécurité Sociale. Comment faire pour qu'à la saisie les espaces se mettent entre les chiffre (du genre : 0 00 00 00 000 000 00).
Je fais du télétravail (cf. confinement) et j'aimerai bien avancer sur cette création de formulaire. Merci pour vos lumières !
A voir également:

6 réponses

m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342
25 mars 2020 à 15:39
Bonjour,

Tu parles de formulaire, mais on ne sait pas de quel type de formulaire tu parles. Or, il y en a au moins trois sortes. Donc, ce que tu veux faire est possible, mais cela dépend des contrôles utilisés.
https://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires

m@rina
1
CHATOUNETTE
25 mars 2020 à 23:03
Bonsoir,
Je suis en Mode Création, Personnalisé avec des zones de texte "Propriétés", des zones déroulante, calendrier. Donc un formulaire renseigné à l'ordinateur. Un moment donné, je souhaite que les personnes renseignent leur numéro de sécurité sociale, numéro de téléphone. Je voudrais une mise en forme avec des espaces et non une succession de chiffres. Merci pour le lien. Cordialement. Sandra.
0
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342 > CHATOUNETTE
26 mars 2020 à 16:05
Bonjour,

Tu ne me réponds pas très clairement, en rapport avec le lien donné...
Bon, a priori il s'agit de contrôles de contenu.
Ce que tu veux faire est possible uniquement par macro.

Voici une macro qui va formater le numéro de sécu et le numéro de téléphone. Il faut commencer par mettre des balises à tes deux contrôles (via les propriétés). Dans mon exemple, c'est "sécu" et "tél". Tu mets cette macro dans ThisDocument:

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim nsecu, ntel
If CC.Tag = "sécu" Then
nsecu = CC.Range.Text
nsecu = Format(nsecu, "0 00 00 00 000 000 00")
CC.Range = nsecu
End If

If CC.Tag = ("tél") Then
ntel = CC.Range.Text
ntel = Format(ntel, "00 00 00 00 00")
CC.Range = ntel
End If
End Sub


Je montre ici comment mettre cette macro
https://faqword.com/index.php/word/formulaires-controles/902-a-l-instar-des-champs-de-formulaire-peut-on-declencher-une-macro-a-la-sortie-d-un-controle-de-contenu?highlight=WyJjb250ZW50Y29udHJvbCJd

Il faut bien noter que le format se fera une fois qu'on sera sorti du contrôle car l'événement est EXIT.

Pour ton problème de protection, il faut bien choisir Protection Formulaire et seuls les contrôles pourront être remplis.

m@rina
0
Chatounette > m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024
27 mars 2020 à 12:46
Bonjour Marina, sous "Développeur", j'ai effectivement inséré sur "Aa" (Contrôle de contenu texte brut). J'ai bien fait Alt+F11 et saisi la macro. Je l'ai bien enregistré. Dans "Propriété" j'ai bien précisé sur la ligne "Balise" le mot "tél" pour sur la ligne qui correspond et dans un autre contrôle de contenu de texte brut, j'ai précisé sur la balise "sécu". J'ai restreint les modifications en sélectionnant "Remplissage de formulaires", j'ai enregistré.
Le problème est que lorsque la personne va arriver sur la ligne du tél ou sur la ligne de sécu, on voit apparaitre : "Cliquez ou appuyez ici pour entrer du texte" et lorsque l'on saisi le numéro de téléphone, cet écrit ne se supprime pas. Du coup, le numéro est mélangé au milieu du texte "cliquez ou appuyer ici....". Je ne comprends pas, surtout que pour les autres cellules où il y a ce même texte, lorsque l'on renseigne l'information ce texte s'efface pour laisser place au renseignement saisi par la personne qui remplit le formulaire. D'où ça peut venir.
Un grand MERCI Marina pour cet macro. Je commence à atteindre la moëlle de l'os !
Sandra
0
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342 > Chatounette
Modifié le 27 mars 2020 à 14:55
Bonjour Sandra

Pour mettre un message de saisie, il faut passer en mode Création et taper le message. Ensuite, une fois qu'on est sorti du mode Création, le fait de cliquer dans le contenu fera disparaître le message.

En fait, il y avait un petit problème dans la macro, car elle formatait aussi le libellé. Je te mets le document ici avec les macros corrigées
https://www.cjoint.com/doc/20_03/JCBn1Z2OkrH_format-cc.docm

m@rina
0
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020 > m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024
27 mars 2020 à 18:41
Marina, je vois que tu es bien plus à l'aise que moi. Je suis déjà très contente d'avoir réussi à mettre en pratique tes explications pour la macro. J'ai fait des captures d'écran pour que tu visualises afin de mieux voir ce que j'ai à mon écran, mais comment je peux faire pour te les envoyer (comment as-tu fais au dessus pour mettre la macro ?)
0
Raymond PENTIER Messages postés 58701 Date d'inscription lundi 13 août 2007 Statut Contributeur Dernière intervention 22 octobre 2024 17 218
25 mars 2020 à 02:18
Bonjour.

Solution 1 = Faire le formulaire sous Excel, et non sous Word.


Solution 2 = Insérer des tableaux d'une ligne et 14 colonnes pour le téléphone, une ligne et 21 colonnes pour la SS.

https://www.cjoint.com/c/JCzboGpVIu7
0
CHATOUNETTE
25 mars 2020 à 08:31
Bonjour,
Je vous remercie pour ces renseignements.
Néanmoins dans les formulaires, j'ai déjà pu voir que l'on tapé le chiffre et les espaces se mettaient automatiquement pour passer à la case suivante et ainsi mettre un seul chiffre par case.
Toujours dans mon formulaire, à la fin je l'ai protégé via un mot de passe et quand je le test, mes intitulés restent modifiables. On peut écrire. Auriez-vous également une explication qui pourrait m'aider ?
Je vous en remercie par avance.
0
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020
29 mars 2020 à 22:15
Bonsoir Marina,
Pour finir sur la macro antérieur. Lorsque l'on saisi plus de 10 chiffres dans le tél ou un numéro de trop pour le numéro sécu (ce qui est possible actuellement) je voudrais savoir s'il est possible d'insérer dans la macro une consigne qui met un message d'erreur informant qu'il y a un chiffre de trop.
Possible ou pas ?
Encore merci.
0
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342
30 mars 2020 à 17:02
Bonjour,

Il faut savoir que ce que les possibilités dans un contrôle de contenu sont assez restreintes, contrairement à des contrôles de Userform ou même des ActiveX.

Comme tu l'as compris, les événements sont limités : on ne peut faire une action qu'à l'entrée du contrôle et à la sortie.
J'élimine tout de suite le message à l'entrée qui explique ce que l'on doit faire et qui va vite agacer tout le monde.

A la sortie, on peut vérifier le nombre de caractères, on peut aussi vérifier s'il s'agit de numérique. Le problème est que les espaces sont considérés comme faisant partie du format numérique. Et si la personne saisit les espaces, ça va générer une erreur...

Je réfléchis à ce qu'on peut faire et je reviens vers toi.

m@rina

0
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020
30 mars 2020 à 21:36
Bonsoir Marina,

ok, merci pour ces renseignements.

A plus tard.

Sandra
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342
30 mars 2020 à 18:04
Re...

Voici une macro qui annule et remplace la première. DOnc, tu vas dans tes macros et tu supprimes complètement la macro existante.

Cette macro va vérifier le nombre de chiffres saisis, que la personne ait tapé les espaces ou pas. Si le nombre est correct (10 pour le no de téléphone et 15 pour le no de sécu), le nombre sera formaté, sinon il y aura un message (que tu peux modifier si nécessaire). Si la personne a saisi les espaces, pas de problème, mais on peut prévenir que c'est inutile.

Private Sub Document_ContentControlOnExit(ByVal CC As ContentControl, Cancel As Boolean)
Dim texte As String, i, Result, nb

texte = CC.Range.Text
If CC.ShowingPlaceholderText = False Then
If Not IsNumeric(texte) Then GoTo fin:

Select Case CC.Tag
Case "tél"
For i = 1 To Len(texte)
If IsNumeric(Mid(texte, i, 1)) Then
Result = Result & Mid(texte, i, 1)
End If
Next
CC.Range = Result
nb = CC.Range.Characters.Count

If nb <> 10 Then
MsgBox "le numéro n'est pas correct, il doit comporter 10 chiffres"
Else: texte = Format(texte, "0# ## ## ## ##")
CC.Range = texte
End If

Case "sécu"
For i = 1 To Len(texte)
If IsNumeric(Mid(texte, i, 1)) Then
Result = Result & Mid(texte, i, 1)
End If
Next
CC.Range = Result
nb = CC.Range.Characters.Count

If nb <> 15 Then
MsgBox "le numéro n'est pas correct, il doit comporter 15 chiffres"
Else: texte = Format(texte, "0 00 00 00 000 000 00")
CC.Range = texte
End If
End Select

End If
Exit Sub
fin: MsgBox "Numéro incorrect"

End Sub

0
m@rina Messages postés 21073 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 17 octobre 2024 11 342
30 mars 2020 à 19:25
J'en ai fait un article parce que c'est une question qui doit intéresser pas mal d'utilisateurs. Voir ici :
https://faqword.com/index.php/word/formulaires-controles/1111
0
CLOWNELLE Messages postés 26 Date d'inscription jeudi 10 janvier 2019 Statut Membre Dernière intervention 24 avril 2020
30 mars 2020 à 22:03
CA FONCTIONNE !!!!!

C'est super que tu es créé un article sur le sujet.

Tu es un génie, je le dirai à mon directeur que ça à permis de créer un article.

Au plaisir.

Sandra
0