Créez des formulaires intelligents dans Word avec ActiveX et validation

Dernière mise à jour: 22/09/2025
Auteur: Isaac
  • Combine le contenu et les contrôles ActiveX pour une saisie guidée et flexible.
  • Validez les données avec des événements (GotFocus, LostFocus, KeyPress) et des exemples VBA.
  • Évitez les conflits en regroupant les boutons radio avec des noms de groupe différents.
  • Protégez le document avec « Remplir des formulaires » pour préserver la conception.

formulaires intelligents dans Word

Créer des formulaires qui sont non seulement remplissables mais qui guident également l'utilisateur, valident les données et conservent la conception intacte est parfaitement possible dans Word. Avec une combinaison de Contrôles de contenu et ActiveX, des propriétés bien définies, des événements et une protection sélective, vous pouvez créer des formulaires vraiment utiles pour le bureau, l'administration et la documentation, et dans des cas complémentaires, vous pouvez voir comment créer formulaires intelligents dans Excel.

Dans les lignes suivantes, vous verrez comment activer les outils nécessaires, quel type de contrôles utiliser dans chaque cas, comment valider les entrées avec des événements (par exemple, des nombres ou des dates), comment regrouper les options afin qu'elles n'interfèrent pas les unes avec les autres et comment protéger le document afin que seuls les champs soient remplis. Le tout avec une approche pratique, expliquée étape par étape et avec quelques Extraits VBA Cela vous fera gagner du temps.

Préparations : onglet Développeur, mode conception et calques

Avant de commencer, assurez-vous que l'onglet Développeur est visible : allez dans Fichier > Options > Personnaliser le ruban et cochez la case Développeur ; confirmez avec OK. Cette étape est essentielle, car elle vous permettra d'accéder à contrôles et leurs propriétés.

Word permet d'insérer des contrôles sur deux calques différents : le calque de texte (en ligne) et le calque de dessin (flottant). Si vous les insérez normalement depuis la barre d'outils Contrôle, le contrôle est placé sur le calque de dessin ; si vous maintenez la touche Maj enfoncée tout en cliquant sur le contrôle, il est inséré en ligne avec le texte. Cette différence est importante car les contrôles en ligne se comportent comme des contrôles flottants. Formes en ligne et ceux de la couche de dessin comme Formes, ce qui affecte leur positionnement et la manière dont ils sont accessibles par le code.

Détail d'affichage : les contrôles ActiveX laissés sur le calque de dessin ne sont visibles qu'en mode Page ou Web. Si vous ne les voyez pas, changez de mode. Activez également l'option Mode de conception dans Developer lorsque vous souhaitez insérer ou configurer des contrôles, et le désactiver pour tester leur comportement réel.

Contrôles ActiveX et validation des données dans Word

Bien choisir les contrôles : contenu vs. ActiveX

Word propose deux grandes familles de contrôles. D'une part, il y a les contrôles de contenu Contrôles (modernes) comme le texte enrichi, le texte brut, le sélecteur de date ou la liste déroulante. D'autre part, contrôles hérités/ActiveX comme les boutons radio ou d'autres entrées plus avancées. Combiner les deux vous offre une flexibilité : contenu moderne pour les champs de texte et de date, et ActiveX pour des comportements plus riches.

Pour les textes tels que le prénom, le nom, l'âge ou le téléphone, utilisez du texte brut si vous souhaitez des entrées sur une seule ligne, ou du texte enrichi lorsque vous devez autoriser plusieurs lignes ou format. Pour la date, le contrôle de contenu de type Sélecteur de date est parfait et vous pouvez ajuster le format depuis son Propriétés.

Si vous souhaitez que l'utilisateur choisisse parmi des éléments prédéfinis (par exemple, le sexe), la liste déroulante de contenu est simple à configurer : ouvrez ses propriétés et ajoutez les entrées dont vous avez besoin. listes déroulantes vous pouvez garder le contrôle de ce qui est rempli et éviter les valeurs inattendues.

Pour des options de sélection exclusives (une seule à la fois), utilisez les boutons d'option (ActiveX). Pour des sélections multiples et indépendantes, utilisez les cases à cocher. Celles-ci sont insérées depuis Outils > Anciens. Contrôles ActiveX, et vous pouvez ensuite ajuster ses propriétés et le texte affiché à côté.

Un outil moins connu mais super utile est le contrôle des blocs de constructionIl permet à l'utilisateur de choisir parmi des blocs de texte prédéfinis (par exemple, des clauses alternatives). Insérez-le depuis l'onglet Développeur, placez le curseur à l'endroit souhaité et sélectionnez le contrôle de contenu « Galerie de blocs de construction ». Vous pourrez ensuite configurer ses propriétés selon vos besoins.

  Comment restaurer les données système à l'aide de SFC et DISM dans Windows 10

Exemple pratique : formulaire avec données personnelles et rubriques

Une façon claire d'organiser un formulaire est d'utiliser un tableau à deux colonnes : à gauche, le libellé (nom, date, etc.) et à droite, le contrôle. Ce n'est pas obligatoire, mais cela permet d'aligner et de maintenir design épuré.

Date : Insère un contrôle de date. Le texte d'aide initial « Cliquez pour saisir une date » peut être modifié pour plus de clarté. Dans les Propriétés, vous pouvez choisir le format d'affichage (par exemple, jj/MM/aaaa) pour afficher correctement les données. homogène tout au long du document.

Prénom, Nom, Âge et Numéro de téléphone : Pour ces champs, le texte brut est généralement suffisant. Choisissez le texte enrichi si vous prévoyez des sauts de ligne ou souhaitez autoriser la mise en forme. L'important est de choisir un type adapté à la comportement attendu de la campagne.

Genre : utilisez une liste déroulante de contenu. Accédez à ses propriétés et ajoutez chaque option (par exemple, « Féminin » et « Homme »). Cela évite toute confusion et réduit les erreurs de frappe. améliorer la qualité des données.

Groupe sanguin : Pour des options mutuellement exclusives, insérez des boutons radio (ActiveX) depuis Outils hérités > Contrôles ActiveX > Bouton radio. Modifiez le texte affiché via Objet bouton radio > Modifier. Ajoutez-en autant que nécessaire (A+, A-, B+, B-, AB+, AB-, 0+, 0-), en conservant la cohérence sur l'étiquetage.

Loisirs ou services souhaités : Si vous souhaitez autoriser le marquage de plusieurs, insérez Casillas (ActiveX). Cela permet à l'utilisateur de sélectionner plusieurs éléments sans conflit. Vous pouvez modifier leur texte comme vous le feriez avec des boutons radio.

Allergies : Il est courant de poser une question Oui/Non à l'aide de boutons radio. Important : Si les boutons Allergies sont désactivés lorsque vous sélectionnez un groupe sanguin, c'est que Word interprète qu'ils appartiennent tous au même groupe logique. Solution : Attribuer un Nom de groupe différent. Sélectionnez chaque bouton radio Allergies, accédez à Propriétés et définissez GroupName = Allergies pour qu'il se comporte comme un groupe distinct.

Détails ou observations sur les allergies : ajouter une vérification de contenu Texte riche Pour permettre des descriptions libres sur plusieurs lignes. C'est très pratique pour les commentaires contextuels ou les annotations utilisateur.

Propriétés clés et comportement d'ActiveX

Dans les documents Word, les contrôles ActiveX comportent des événements dont vous pouvez tirer profit. Word les implémente nativement. GotFocus y Perte de concentration, et le reste des événements spécifiques à chaque contrôle se comportent comme dans Microsoft FormsCela ouvre la porte à la validation des champs lorsque l'utilisateur y entre ou en sort.

Une nuance importante pour la programmation : dans le code événement d'un contrôle intégré au document, le mot-clé Me fait référence au document, et non au contrôle. Par conséquent, si vous souhaitez agir sur le contrôle, vous pouvez utiliser son nom directement ou naviguer parmi les objets du document.

N'oubliez pas non plus la distinction d'accès au code : les contrôles sur la couche de texte sont exposés comme Formes en ligne, tandis que ceux du calque de dessin sont appelés Formes. Le choix d'un calque influence la façon dont vous itérez et positionnez les contrôles par programmation.

Si vous ne souhaitez pas que l'utilisateur modifie la mise en page du document, mais souhaite néanmoins qu'il puisse interagir avec les contrôles, il est préférable d'appliquer une protection contre les modifications. Dans les anciennes versions, un bouton « Protéger le formulaire » était disponible dans la barre de formulaires ; dans les versions actuelles, la procédure est la suivante : Révision > restreindre l'édition, quelque chose que nous verrons en détail plus tard.

  PowerPoint ne lit pas les vidéos intégrées : solutions, causes et guide complet (2024)

Validation des données : modèles pratiques en VBA

La validation confère de l'intelligence à votre formulaire. Vous pouvez éviter les lettres dans le champ Âge, éviter les numéros de téléphone comportant trop de caractères, forcer un format de date correct, etc. L'essentiel est d'intégrer les bons événements dans le champ Contrôles ActiveX (et, le cas échéant, des macros de contenu).

Incréments contrôlés par un bouton rotatif : Pour augmenter ou diminuer l'âge ou une quantité d'un cran, ajoutez un bouton rotatif (ActiveX) et une zone de texte associée. Voici un exemple très simple : mise à jour TextBox1 lorsque le contrôle est cliqué :

Private Sub SpinButton1_SpinDown()
    Me.TextBox1.Value = Me.TextBox1.Value - 1
End Sub

Private Sub SpinButton1_SpinUp()
    Me.TextBox1.Value = Me.TextBox1.Value + 1
End Sub

Changement d'affichage (utile pour le débogage) : Un bouton permet de passer en mode Impression et de régler le zoom pour visualiser le résultat final du formulaire. Cette procédure de clic s'exécute lorsqu'on appuie dessus et ajuste le zoom. fenêtre active:

Private Sub cmdChangeView_Click()
    With Me.ActiveWindow.View
        .Type = wdPrintView
        .Zoom.Percentage = 100
    End With
End Sub

Validation numérique en temps réel (Âge) : Dans l'événement « Touche/Modifier » de la zone de texte « Âge », filtrez les caractères non numériques. Vous éviterez ainsi les erreurs dès le départ. très efficace quand il se remplit rapidement.

' En un TextBox ActiveX (por ejemplo, TextBoxEdad)
Private Sub TextBoxEdad_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Not (KeyAscii >= 48 And KeyAscii <= 57) And KeyAscii <> 8 Then
        KeyAscii = 0
    End If
End Sub

Validation de la date sur le champ de sortie : si vous utilisez une zone de texte ActiveX pour la date (ou mappez la valeur du contrôle de date), vérifiez avec IsDate dans l'événement LostFocus. En cas d'échec, marquez le champ en rouge, affichez un avertissement et redonnez le focus à l'utilisateur pour qu'il puisse corriger l'erreur. valeur.

Private Sub TextBoxFecha_LostFocus()
    If Not IsDate(TextBoxFecha.Text) Then
        TextBoxFecha.BackColor = vbRed
        MsgBox "La fecha no es válida. Usa el selector o formato dd/mm/aaaa.", vbExclamation
        TextBoxFecha.SetFocus
    Else
        TextBoxFecha.BackColor = vbWhite
    End If
End Sub

Numéro de téléphone à longueur fixe : Vous pouvez vérifier la longueur avant de quitter le champ et n'autoriser que les chiffres. Si vous avez besoin de traits d'union ou d'espaces, vous pouvez les insérer automatiquement lors de l'événement « Modifier », générant ainsi une entrée. uniforme.

Private Sub TextBoxTelefono_LostFocus()
    Dim s As String
    s = Trim(TextBoxTelefono.Text)
    ' Elimina caracteres no numéricos
    Dim i As Long, limpio As String
    For i = 1 To Len(s)
        If Mid$(s, i, 1) >= "0" And Mid$(s, i, 1) <= "9" Then
            limpio = limpio & Mid$(s, i, 1)
        End If
    Next i
    If Len(limpio) < 9 Then
        MsgBox "El teléfono debe tener al menos 9 cifras.", vbInformation
        TextBoxTelefono.SetFocus
    Else
        TextBoxTelefono.Text = limpio
    End If
End Sub

Listes contrôlées : Grâce à la liste déroulante Contenu, ajoutez des options depuis les propriétés pour empêcher les valeurs artificielles. Dans ActiveX (ComboBox), vous pouvez également charge éléments par code dans Document_Open pour centraliser la source de données.

Private Sub Document_Open()
    With Me.ComboBoxSexo
        .Clear
        .AddItem "Femenino"
        .AddItem "Masculino"
    End With
End Sub

Alertes discrètes : Il n'est pas nécessaire que tout soit une boîte de message. Changer la couleur d'arrière-plan, afficher un astérisque d'avertissement près de la boîte ou désactiver les boutons d'envoi/impression jusqu'à ce que les champs soient corrects sont moins intrusifs et plus élégant.

Comment protéger le formulaire pour éviter les modifications de conception

Une fois les contrôles définis et testés, appliquez des restrictions afin que l'utilisateur puisse remplir le document sans le modifier. Accédez à Révision > restreindre l'éditionDans le panneau latéral, sélectionnez « Restrictions de modification » et choisissez « Remplissage de formulaire » dans la liste. Cliquez ensuite sur « Oui, appliquer la protection » et, si nécessaire, définissez un mot de passe.

Avec la protection activée, l'utilisateur pourra interagir avec les contrôles (cases à cocher, choix dans les listes, saisie dans les champs), mais ne pourra pas déplacer les tableaux ni modifier le texte fixe. Cette fonctionnalité est idéale lorsque vous partagez des formulaires avec des clients ou d'autres services et souhaitez préserver la confidentialité. format d'entreprise, ou les héberger dans onedrive.

  Comment résoudre le problème lorsque Windows ne détecte pas le deuxième écran

Si vous devez modifier à nouveau le design, utilisez « Suspendre la protection » et saisissez le mot de passe. Assurez-vous d'enregistrer une copie sans mot de passe dans un environnement sécurisé au cas où vous auriez besoin d'annuler les modifications ou réutiliser le document comme modèle.

Blocs de construction : texte réutilisable et contrôlé

De nombreuses formes ont des textes qui changent selon le cas (par exemple, des propositions alternatives). Le contrôle de bloc de construction Permet de proposer à l'utilisateur une galerie de textes prédéfinis. Insérez le contrôle depuis le menu Développeur, positionnez-le à l'emplacement approprié, puis configurez ses propriétés pour pointer vers la galerie correspondante.

Une méthode courante consiste à préparer plusieurs versions du texte comme contrôles de contenu enrichi et à utiliser le bloc de construction comme conteneur pour choisir celle à insérer. C'est une façon organisée de gérer le contenu. répétitif sans avoir à copier/coller manuellement.

Conseils d'utilisation, de compatibilité et d'entretien

Nommez clairement vos contrôles (par exemple, TextBoxAge, ComboBoxGender). Cela facilite la lecture de votre code et évite les conflits lors de l'écriture des validations. Plus le nom est clair, plus vous pourrez rapidement mantener la formule.

Si vous utilisez ActiveX, n'oubliez pas qu'ils dépendent des paramètres de sécurité des macros. Sur les ordinateurs dotés de politiques restrictives, vous devrez peut-être modifier le Centre de gestion de la confidentialité ou signer numériquement le document. Ceci est important lors de la distribution de formulaires dans différents environnements. d'entreprise.

Testez toujours avec le mode Création activé lors de la configuration et désactivez-le pour observer le comportement réel. Passez en mode Mise en page si vous ne voyez pas de contrôles sur le calque de dessin ; cette vérification rapide évite toute confusion et vous fait gagner du temps. temps.

Pour un développement plus avancé, gardez à l'esprit la différence entre les formes intégrées et les formes lors de l'accès par code, ainsi que la géométrie des tableaux et des marges. Un léger ajustement de l'ancre ou de la habillage de texte peut complètement changer le résultat visuel, et également réfléchir à la manière d'intégrer les flux avec Microsoft Power Automatiser pour un travail répétitif.

Si vous avez besoin de documentation supplémentaire sur des événements de contrôle spécifiques (par exemple, Modifier, Cliquer, Entrer, Quitter), la référence Microsoft Forms complète parfaitement le guide Word. De plus, Word implémente correctement GotFocus y Perte de concentration dans les documents, permettant de concevoir des validations et des aides contextuelles lors de l'entrée ou de la sortie du champ.

Pour les utilisateurs finaux, ajoutez de courtes instructions à côté des champs (en utilisant du texte d'espace réservé dans les contrôles de contenu). Un formulaire avec des instructions claires et des validations discrètes réduit les erreurs et simplifie le processus. rempli Être plus rapide.

Lorsque vous partagez des formulaires sur PDF, n'oubliez pas que l'interactivité ActiveX est perdue. Si la destination est un PDF remplissable, pensez à créer les champs directement dans le PDF avec programmes pour créer des formulaires PDF modifiables ou gardez le flux dans Word pour profiter de la événements et la logique de validation.

Vous pouvez créer des formulaires dans Word qui vont bien au-delà d'un simple document : des saisies guidées, des options correctement regroupées, des données propres dès le premier essai et une conception qui reste sous contrôle grâce à la protection édition sélective.

validation des données dans Excel
Article connexe:
Comment utiliser la validation des données dans Excel