IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Formulaires : Touche Entrée pour changer de champs


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Formulaires : Touche Entrée pour changer de champs
    Bonjour à tous,
    je crée un formulaire avec de multiples champs dans Word 2013 et je bute sur un problème.
    Je souhaite vraiment éviter que les utilisateurs ne me mettent le fou...bazar dans le formulaire et de ce fait, j'aimerais que la touche Entrée ne serve pas à ajouter une ligne, mais à se comporter comme la touche Tab et change de ce fait de champs de formulaire.

    J'ai essayé de copier cette Macro dans la partie "ThisDocument" en mode VBA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Sub EnterKeyMacro()
     ' Check whether the document is protected for forms
     ' and whether the protection is active.
     If ActiveDocument.ProtectionType = wdAllowOnlyFormFields And _
     Selection.Sections(1).ProtectedForForms = True Then
     ' Retrieve the bookmark of the current selection.
     ' This is equivalent to the name of the form field.
     myformfield = Selection.Bookmarks(1).Name
     ' Go to the next form field if the current form field
     ' is not the last one in the document.
     If ActiveDocument.FormFields(myformfield).Name <> _
     ActiveDocument.FormFields(ActiveDocument.FormFields.Count) _
     .Name Then
     ActiveDocument.FormFields(myformfield).Next.Select
     Else
     ' If the current form field is the last one,
     ' go to the first form field in the document.
     ActiveDocument.FormFields(1).Select
     End If
     Else
     ' If the document is not protected for forms,
     ' insert a tab stop character.
     Selection.TypeText Chr(13)
     End If
     End Sub
    Et en fait, et bien... ça ne fonctionne pas... mais du tout...
    Faut-il que je fasse autre chose ? Ou avez-vous une autre idée ?

    Je vous mets le fichier pour plus de clarté (il est tout moche et incomplet, mais c'est normal, j'ai viré plein de choses )
    PLAN DE PREVENTION2.doc
    Merci par avance et bonne journée !
    Esk

  2. #2
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Citation Envoyé par Eskelea Voir le message
    Je souhaite vraiment éviter que les utilisateurs ne me mettent le fou...bazar dans le formulaire et de ce fait, j'aimerais que la touche Entrée ne serve pas à ajouter une ligne, mais à se comporter comme la touche Tab et change de ce fait de champs de formulaire.
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub EnterKeyMacro()
        SendKeys "{Tab}"
    End Sub

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Responsable sécurité
    Inscrit en
    Mai 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Mai 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Bonjour Gnain, merci pour ta réponse.
    Désolée, mais ton code ne fonctionne pas.

    Par contre : j'ai finalement réussi à faire fonctionner le code. J'étais partie sur un fichier existant, pour lequel chaque champs n'avait pas forcément un signet d'attribuer, d'où l'erreur. De plus, il faut fermer et réouvrir le fichier pour que les macros soient bien prises en compte.

    PAR CONTRE :
    J'ai un souci au niveau des formats. Sur un champs de formulaire texte, je souhaite voir un nombre écrit dans un format précis : ##.##
    Or, quand on rentre les caractères à la suite (####) et qu'on appuie sur [TAB], pas de souci, il me passe en format ##.##
    Par contre, quand j'utilise la touche [ENTREE], il ne met pas en forme le champ.
    Une idée sur comment je pourrais faire s'il vous plaît ?

Discussions similaires

  1. validation formulaire touche entrée
    Par dleho dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/01/2008, 19h24
  2. Réponses: 10
    Dernier message: 03/01/2008, 00h02
  3. Validation formulaire : touche entrée
    Par aymron dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 22/11/2006, 00h40
  4. [WebForms]Comment utiliser la touche entrée pour valider un formulaire ?
    Par yonialhadeff dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 10/05/2006, 13h29
  5. [Formulaire] Touche entrée et touche tab
    Par Jean73 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/04/2006, 14h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo