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

Word Discussion :

Questions sur création formulaire avec longue liste déroulante, horaire et envoi de données dans Excel


Sujet :

Word

  1. #1
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut Questions sur création formulaire avec longue liste déroulante, horaire et envoi de données dans Excel
    Bonjour à tous et à toutes,

    Avant de commencer, excusez-moi si mon post est (très) long, mais j'ai plusieurs questions. Sur un autre forum, j'avais posté une question par post, mais on me l'a reproché et une modératrice a même supprimé mes posts, jugeant qu'ils étaient en doublon...

    Mon patron m'a demandé de modifier un formulaire qu'habituellement on imprimait et remplissait à la main. Il souhaiterait qu'on le remplisse sur un ordinateur pour que ça soit plus propre et surtout qu'on puisse récupérer, dans un fichier Excel, les données récoltées via ce formulaire.
    Dans ce formulaire, que je fais sous Word (2010) avec l'onglet Développeur, on a plusieurs champs :
    1. Un champ où on renseigne le nom d'une commune
    2. Un champ où on renseigne une durée
    3. Plusieurs champs où on renseigne des quantités
    4. Plusieurs cases à cocher
    5. Plusieurs champs textes, simples

    1) Mon premier problème concerne le champ "Commune".
    Sachant qu'il y a près de 36 000 communes en France, j'ai deux possibilités pour mon formulaire :
    • Ou je fais un champ texte, simple, avec le risque d'avoir, par exemple, un coup "Saint Etienne" et un autre coup "St Etienne"
    • Ou je fais une liste déroulante (immense) avec les 36 000 communes

    Je dois avoir (ou au pire je peux récupérer ça sur Internet) cette liste des 36 000 communes. Comment indiquer à Word, d'aller chercher cette liste (dans un fichier Excel ou un fichier texte) plutôt que j'aie à entrer une à une les 36 000 communes ?
    Je suis allé dans l'onglet Développeur > (Groupe) Contrôles > Propriétés, mais je n'arrive pas à lui indiquer d'aller chercher la liste dans tel fichier à tel endroit.

    D'autre part, questions subsidiaires, quelle est la différence entre :
    • Contrôle du contenu de zone de liste déroulante
    • Contrôle du contenu liste déroulante

    Laquelle est la mieux adaptée pour ma liste de communes ?

    2) Mon second problème concerne le champ "Durée" où, comme son nom l'indique, on entre une durée (en heure, minutes et secondes).
    J'ai donc fait 3 listes déroulantes :
    • Une pour les heures (allant de 00 à 23)
    • Une pour les minutes (allant de 00 à 59)
    • Une pour les secondes (allant de 00 à 59)

    Je suppose qu'il y a une autre façon "plus propre" pour faire cela, mais je n'ai pas trouvé.
    Sur un sélecteur de date, je suis allé dans l'onglet Développeur > (Groupe) Contrôles > Propriétés où j'ai vu qu'on pouvait afficher une date sous la forme HH:mm:ss mais au final, quand je clique sur le sélecteur, j'ai un calendrier et je ne peux (ou ne sais pas comment) entrer une horaire/durée.
    Comment faire (pour indiquer une durée dans un seul champ) ? Quel élément de formulaire choisir ? Un champ texte ? Un sélecteur de date ? Des listes déroulantes ? D'autant que j'aimerai envoyer les données récoltées dans ce formulaire dans un fichier Excel, donc j'aimerai éviter d'avoir 3 colonnes sous Excel juste pour la durée (une colonne pour l'heure, une pour les minutes, une pour les secondes)

    3) Troisième problème : un champ où on indique des quantités. Selon vous, qu'est-ce qui est le mieux adapté pour ce type de "données" ? Un champ texte ? Une liste déroulante ? Un champ avec à côté une flèche vers le haut pour incrémenter et une flèche vers le bas pour décrémenter, comme ce qu'on a sur les pages produits des sites eCommerce ? Comment avoir ce dernier type de champ (avec les flèches haut/bas) ?

    4 et 5) Comme je disais au début, je souhaiterai récupérer tout ce qu'on entre dans ce formulaire, dans un fichier Excel pour pouvoir les utiliser par la suite. Comment faire pour que toutes ces données aillent bien dans tel ou tel fichier Excel ? Est-ce que finalement Word est adapté pour ce genre de chose ? Est-ce qu'il ne vaudrait pas mieux passer par d'autres solutions telles qu'InfoPath ou autre ?

    6) Comment empêcher la modification des intitulés du formulaire ? Est-ce que "Restreindre la modification" suffit ? Est-ce que ça n'empêche pas (aussi) les personnes de remplir le formulaire ? Pour le moment, j'ai commencé à faire ce formulaire sous la forme d'un "modèle Word" où on enregistre le fichier sous la forme d'un fichier Word, de sorte qu'on ne modifie pas le modèle. Cependant, ça n'empêche pas de modifier les intitulés.

    Merci d'avoir lu jusqu'ici et d'avance merci aussi pour vos réponses.
    Bonne journée.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par spip93 Voir le message
    Bonjour à tous et à toutes,

    Avant de commencer, excusez-moi si mon post est (très) long, mais j'ai plusieurs questions. Sur un autre forum, j'avais posté une question par post, mais on me l'a reproché et une modératrice a même supprimé mes posts, jugeant qu'ils étaient en doublon...

    Chez-nous la préférence va à un sujet par question. Mais bon...

    Je ne m'y connais pas trop en formulaires, mais quelques réponses/réactions en vrac.

    À vrai dire, je pense que tu devrais éviter les contrôles de formulaires et utiliser les contrôles ActiveX. Parce que tu peux leur appliquer des traitements par VBA et je doute que tu puisses éviter VBA. Mais avec une étape à la fois, et les tutoriaux du site, tu pourras t'en sortir.

    Sachant qu'il y a près de 36 000 communes en France, j'ai deux possibilités pour mon formulaire :
    [*]Ou je fais un champ texte, simple, avec le risque d'avoir, par exemple, un coup "Saint Etienne" et un autre coup "St Etienne"
    Je penserais plutôt à quelques corrections automatiques comme remplacer St par Saint ou Saint par St.

    [*]Ou je fais une liste déroulante (immense) avec les 36 000 communes
    Pourquoi pas plutôt un banal filtre sur une colonne dans Excel. Au besoin, tu peux choisir de sortir juste les A ou juste les Saint etc.


    2) Mon second problème concerne le champ "Durée" où, comme son nom l'indique, on entre une durée (en heure, minutes et secondes).
    J'ai donc fait 3 listes déroulantes :
    • Une pour les heures (allant de 00 à 23)
    • Une pour les minutes (allant de 00 à 59)
    • Une pour les secondes (allant de 00 à 59)

    Je suppose qu'il y a une autre façon "plus propre" pour faire cela, mais je n'ai pas trouvé.
    Au pire, tu devrais pouvoir imposer un format d'entrée de date et/ou d'heure en texte et de rejeter toute entrée délinquante. Mais les trois chiffres ce n'est pas mal du tout pour la flexibilité des traitements.

    Sur un sélecteur de date, je suis allé dans l'onglet Développeur > (Groupe) Contrôles > Propriétés où j'ai vu qu'on pouvait afficher une date sous la forme HH:mm:ss mais au final, quand je clique sur le sélecteur, j'ai un calendrier et je ne peux (ou ne sais pas comment) entrer une horaire/durée.
    Comment faire (pour indiquer une durée dans un seul champ) ? Quel élément de formulaire choisir ? Un champ texte ? Un sélecteur de date ? Des listes déroulantes ? D'autant que j'aimerai envoyer les données récoltées dans ce formulaire dans un fichier Excel, donc j'aimerai éviter d'avoir 3 colonnes sous Excel juste pour la durée (une colonne pour l'heure, une pour les minutes, une pour les secondes)
    Je dirais que cela dépend de besoin. Si tu as besoin de durée arrondies au quart d'heure ou à la demi-heure, un simple contrôle de texte fait la job.
    Mais, si tu veux la différence entre 14:15:30 et 18:12:59, tu peux calculer la différence par VBA et afficher seulement la différence.


    3) Troisième problème : un champ où on indique des quantités. Selon vous, qu'est-ce qui est le mieux adapté pour ce type de "données" ? Un champ texte ? Une liste déroulante ? Un champ avec à côté une flèche vers le haut pour incrémenter et une flèche vers le bas pour décrémenter, comme ce qu'on a sur les pages produits des sites eCommerce ? Comment avoir ce dernier type de champ (avec les flèches haut/bas) ?
    Encore là, cela dépend du besoin. Si tu vends juste du sable avec le poids arrondi à la demi-tonne, c'est pas mal différent que de vendre des médicaments ou des épices au gramme et milligramme

    4 et 5) Comme je disais au début, je souhaiterai récupérer tout ce qu'on entre dans ce formulaire, dans un fichier Excel pour pouvoir les utiliser par la suite. Comment faire pour que toutes ces données aillent bien dans tel ou tel fichier Excel ?
    C'est pour cela que je parlais de contrôles ActiveX et de VBA à la place des contrôles de formulaires.

    Est-ce que finalement Word est adapté pour ce genre de chose ?
    Peut-être, mais il a du travail

    Mais, plus j'y pense, plus je me dis que moi, je le ferais autrement. Je le ferais dans Excel, ou même Access (voir ma signature pourquoi Access). Une fois tout rempli, j'envoie le résultat dans Word en faisant du publipostage. On peut faire du "publipostage" dans Word avec n'importe quoi et pas juste des adresses...
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre régulier
    Homme Profil pro
    Infographiste, Webdesigner
    Inscrit en
    Juillet 2012
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Infographiste, Webdesigner
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 109
    Points : 70
    Points
    70
    Par défaut
    Merci Clément pour ta réponse.
    Sur tes conseils je suis passé par des contrôles ActiveX. Par contre, le problème c'est que j'y connais rien en VBA. Je pense que je créerai un message exprès par rapport à ça.
    Ceci dit, je me demande de plus en plus si je ne vais pas passer par Access, mais comme ça fait un moment que je n'y ai pas touché ...

Discussions similaires

  1. Formulaire avec double listes déroulantes liées
    Par glesker dans le forum Langage
    Réponses: 46
    Dernier message: 25/08/2008, 10h55
  2. trier dans un formulaire avec une liste déroulante
    Par FENUA CLIM dans le forum IHM
    Réponses: 2
    Dernier message: 04/08/2008, 08h45
  3. Réponses: 1
    Dernier message: 08/05/2008, 23h00
  4. Réponses: 7
    Dernier message: 17/10/2006, 12h32
  5. Formulaire avec plusieurs listes déroulantes
    Par cyberdevelopment dans le forum Langage
    Réponses: 5
    Dernier message: 17/07/2006, 16h59

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