Formulaire sous Word [Résolu]

Signaler
-
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
-
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 !

6 réponses

Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531
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.
http://faqword.com/index.php/word/formulaires-controles/911-le-point-sur-les-outils-de-formulaires

m@rina
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531 >
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
>
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020

Bonjour Marina, je n'arrive pas à me faire comprendre.
La vidéo je l'ai bien vu.
J'ai créé la macro en faisant Alt+F11
J'y ai saisi tout le texte que tu m'avais donné la 1ère fois :




Par la suite, tu m'as précisé que dans la macro il y avait une erreur.
J'ai bien suivi ton lien qui précisait :
Quel est votre numéro de Sécurité Sociale ? Votre numéro de sécu
Quel est votre téléphone ? Votre numéro de tél

Ces deux lignes, j'ai bien compris qu'elles venaient modifier ma 1ème macro dans le libellé.
Je dois donc insérer ces 2 lignes DANS la macro, mais après quelle ligne ? et sous quelle forme ? tel que tu l'as écrit ?

J'ai bien compris que si la macro est mal formulée, ça aura une incidence dans le formulaire.

Excuse moi de ne pas bien comprendre où je dois placer ces lignes ?

Merci d'avance pour des GRANDES LUMIERES !
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531 >
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

Mais non ! Je parle de la macro... c'est la macro entière qu'il faut récupérer et copier à la place de l'ancienne... Le document en lui même, on s'en fiche, je l'ai créé juste pour montrer que ça fonctionne.
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020
>
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020

YES ! J'ai réussi.
Lorsque j'ouvrai ton lien, effectivement je voyais le résultat s'affichait.
J'ai percuté qu'il fallait que je fasse Alt+F11 pour atteindre la macro que tu as construite.
Désolé, mais pas facile à comprendre.

Ca fonctionne. Je te remercie sincèrement.

Sans abuser, vu que tu es une PRO de la MACRO, je voudrai créer un autre formulaire via le Développeur pour un autre document dont j'ai une idée,
Je voudrais créer une zone déroulante, pour que chaque cheffe de service sélectionne sa catégorie (l'une d'elle gère le service IMP et l'autre IMPro).
Dans chaque service il y aurait une sous catégorie pour y trouver le nom de chaque jeune dans l'ordre alphabétique.
Est-il possible de créer un lien entre le nom du jeune et sa "date de naissance" et une autre case "date d'entrée dans l'établissement" (qui serait dans un fichier excel). De fait, ces deux dates s'afficheraient instantanément dès que l'on sélectionnerait le jeune en question via la zone déroulante.
Est-il possible de créer ces liens ?
Merci d'avance pour tes connaissances. C'est un réel plaisir de pouvoir chercher à mettre en pratique. MERCI, MERCI !
Prends soin de toi et des tiens en cette période de confinement.
Sandra.
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531 >
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

Bonjour,

Il faudrait que tu crées un nouveau topic car le sujet n'est pas le même.
A priori, je verrais plutôt l'utilisation du publipostage.

Prends soin de toi également, restons chez nous quand c'est possible.

m@rina
Messages postés
51859
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
3 juillet 2020
13 578
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

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.
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

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.
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531
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

Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

Bonsoir Marina,

ok, merci pour ces renseignements.

A plus tard.

Sandra
Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531
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

Messages postés
16238
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
1 juillet 2020
9 531
J'en ai fait un article parce que c'est une question qui doit intéresser pas mal d'utilisateurs. Voir ici :
http://faqword.com/index.php/word/formulaires-controles/1111
Messages postés
26
Date d'inscription
jeudi 10 janvier 2019
Statut
Membre
Dernière intervention
24 avril 2020

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