|
|
|
| EXCEL Données Validation par BB- |
mercredi 16 janvier 2008 à 12:55:40 |
Configuration: Excel 2003 Windows XP
salut
un pdf n'est pas fait pour être modifié ! avec la dernière version d'adobe acrobat tu peux générer de tels formulaires mais il est payant et cher ! il ne faut pas passer par données / validation d'excel mais utiliser word et la barre d'outils "formulaire" (_Usul d'Arrakis Serial_Dreamer_) |
Bonjour UsulArrakis,
merci pour tes réponses. 1) Mon fichier PDF devra permettre aux utilisateurs de rentrer leurs saisies et d'imprimer le document. Je sais qu'ils ne pourront pas le sauvegarder s'ils n'ont pas Adobe Reader (car payant). Mais je pensais que Acrobat Reader (gratuit) permettait tout de même de remplir les objectifs de mon projet. J'ai déjà travaillé avec un document de ce type mais je ne l'avais pas conçu. Je ne disposais pas d'Adobe Reader sur mon ordinateur. 2) Je souhaitais utiliser Excel pour pouvoir insérer des fonctions de calculs. En effet, je souhaite insérer également dans ce formulaire une section "commande". Il suffira à la personne de rentrer la quantité désirée et le prix total s'affichera dans une autre case. Je ne vois pas comment faire avec Word. Concernant la barre d'outils "formulaire" sous Word, elle me pose quelques soucis : 3) J'aimerais que l'on ne puisse pas cocher deux cases correspondant à une même question et je n'ai pas trouvé l'astuce. 4) J'aimerais que la case de la liste déroulante affiche "Choisir une réponse" mais que l'utilisateur ne puisse pas laisser cet élément affiché et qu'il soit obligé de choisir une réponse parmi les éléments de la liste. Je n'ai pas trouvé l'astuce pour cela. Une idée éventuelle pour ces soucis ? Merci d'avance. |
Bonjour BB, Usularakis,
Dès que tu as un calcul à faire, utilises un logiciel de calcul, donc Excel (les calculs avec Word sont statiques et très rudimentaires) Ton questionnaire Excel peut être transformé gratuitement ( à moins qu'il soit devenu payant) avec PDFCREATOR (ou pdf995 ?): il crée une imprimante virtuelle transformant un document Office en .pdf PDF a du succès car pouvantêtre lu par n'importe quelle famille d'ordinateurs et parce qu'il est difficille à modifier (comme le dit fort justement Usularrakis, Adobe est très cher et de plus pas évident à manipuler) Pour imposer du texte dans une cellule (A1): Avec données/validation, tu choisis "personnalisé" et dans la fen^tre "formule tu écris =esttexte(A1) tu peux tirer cette formule ou copier coller la ref de la cellule suivra réponse unique: dans la barre d'outils "formulaire" d'XL choisis les boutons d'options (et non les cases à cocher) si par ex tu as le choix entre 3 réponses, encadre ces 3 boutons par une zone de groupe (dans barre formulaire), tu pourras ainsi d'avoir d'autres questions à réponse unique Je n'ai pas compris ta question 4 Une fois ton classeur terminé, sauvegarde le en modèle (.XLT) ainsi chaque utilisateur enregistrera avec un nom de classeur différent. Ensuite tu pourras les convertir toi-m^me en PDF et les retourner aux utilisateurs au besoin Enfin, comme tu construis un fichier nominatif, la loi 78-17"informatique et libertés) t'impose de faire une déclaration préalable à la CNIL www.cnil.fr Cordialement, Michel |
Bonjour Michel,
merci beaucoup pour ton aide et pour la clareté de tes réponses . Je viens de faire quelques essais et cela fonctionne plutôt pas mal. Toutefois j'ai encore quelques questions :(merci par avance pour les réponses éventuelles) 1) Est-il possible de retirer la bordure de la zone de groupe ? Je ne trouve aucune propriété de format. 2) Concernant la formule =esttexte(A1) : si on ne saisit que des chiffres, effectivement on reçoit un message qui nous empêche de valider la réponse. Mais si on saisit par exemple 4ABCD, la réponse est validée sans message d'erreur. La formule ne détecte pas de chiffre si ce dernier est précédé ou suivi d'un texte. Y'a-t-il un moyen de rectifier cela ? 3) Pour que l'utilisateur ne puisse avoir accès qu'aux cellules, aux boutons d'option et aux listes déroulantes, je les ai déverrouillés. Ensuite j'ai mis une protection sur ma feuille en ne laissant l'accès qu'aux cellules déverrouillées et "en supposant" que Excel prendrait en compte également les objets que j'avais déverrouillés (via format de contrôle/proctection). Tout fonctionne bien pour les cellules mais pas pour les "objets" tels que les boutons d'option et les listes déroulantes. En effet l'utilisateur peut les déplacer dans la feuille, modifier leur contenu, etc. Ai-je mal configuré la protection ? 4) Concernant ma quatrième question, je vais essayer de la reformuler avec un exemple: J'ai créé une liste déroulante avec les éléments suivants : Oui;Non;Je ne sais pas. Je la teste pour m'assurer qu'elle fonctionne en choisissant par exemple l'élément "Oui". Le mot "Oui" s'affiche, c'est très bien la liste déroulante de ma cellule fonctionne. Mais voilà, lorsque l'utilisateur va ouvrir le document, les cellules correspondant à mes listes déroulantes auront déjà un contenu : celui de mon test. J'aurais aimé que l'utilisateur ne voit pas l'élément de mon test mais plutôt un texte comme :"choisir dans cette liste" et que ce texte ne fasse pas partie des éléments de ma liste déroulante pour qu'il soit obligé de répondre soit "Oui" soit "Non" soit "Je ne sais pas". 5) Je dispose effectivement d'un utilitaire gratuit (Cute PDF Writer) pour sauvegarder un document en format PDF. J'ai utilisé dans le passé un document PDF dans lequel je pouvais remplir les champs prévus à cet effet, les fonctions de calculs étaient toujours actives en fonction de mes saisies, je pouvais imprimer ce document, sans pouvoir le sauvegarder. D'ailleurs dès le début de la saisie, je recevais un message m'avertissant que je pouvais imprimer le document mais que je ne pouvais pas le sauvegarder. L'idée était très bonne. Avec les explications que tu me donnes, j'en déduis donc que la personne qui a conçu ce document l'a fait avec Adobe Acrobat et non via Excel ? Ceci est vraiment très gênant car du coup, si l'utilisateur ne dispose pas de microsoft office sur son ordinateur, il ne pourra pas avoir accès au fichier .xlt Merci beaucoup pour ton information sur la loi 78-17"informatique et libertés". Effectivement je l'ai déjà rencontrée sur Internet. Est-elle également applicable dans le milieu professionnel lorsqu'on ne s'adresse qu'aux employés ? (exemple : fiche à remplir pour le département des Ressources Humaines). Bonne soirée. BB |
Bonsoir,
Je me suis occupé du 2) Il m'a bien occupé mais une fois la formule trouvée impossible qu'excel réagisse correctement si saisie dans la fenetre de validation. Saisie dans A1 (attention, référence dans la formule, à adapter si besoin), et donc obligation d'utiliser une cellule intermédiaire (disons A2) où tu mets la formule: A2: =ESTNUM(SOMMEPROD(CHERCHE(STXT(A1;LIGNE(1:50);1);"azertyuiopqsdfghjklmwxcvbn-'"))) La formule de validation de ta cellule A1 est: =A2 entre les " " tu saisis les caractères autorisés, pas de distinction majuscules/minuscules. Contrôle limité à 50 caractères, à changer si besoin dans (1:50) Seul défaut non prévu, le - n'est pas accepté en 1er caractère (excel prend ça pour une opération je pense) mais il n'y a pas bcp de nom qui commencent comme ça. eric
|
Bonjour Eric,
merci beaucoup pour tes réponses et désolée du temps passé sur la question N°2. J'ai essayé ta formule. Elle fonctionne effectivement très bien en indiquant si le test logique est "faux" ou "vrai". Le seul souci, comme tu l'as remarqué, c'est que l'on ne peut pas insérer cette formule dans la fonction validation. L'utilisateur ne sera donc pas stoppé dans la validation de sa saisie si malencontreusement il a rentré un chiffre. Mais merci beaucoup pour ta recherche très précieuse sur ce sujet. Je suppose que la fonction validation a ses limites et on doit s'y résoudre. Merci pour ta réponse relative à la protection des objets. Ca fonctionne très bien maintenant. Merci également pour ta solution pour intégrer un titre dans la cellule où je dois insérer une liste déroulante. Je remarque juste que le système de liste déroulante via la barre d'outils formulaire est plus conviviale puisque l'on voit de suite (sans sélectionner la cellule) qu'il y a une liste déroulante, ce qui n'est pas le cas pour une liste déroulante créée via la fonction validation. Toutefois, impossible de titrer une liste déroulante créée via la barre d'outils formulaire. Sans doute une limite à laquelle on doit se résoudre également. Je travaille sur cet exercice de formulaire pour pouvoir être capable d'en créer un si on me le demande, mais je vois que cela n'est pas évident. Je ne pensais pas que ce serait si complexe. Merci à tous pour votre aide. Bonne journée. |
Re,
Si tu utilises une cellule intermédiaire et que ta validation se fait en contrôlant cette cellule intermédiaire tel que je te l'ai indiqué l'utilisateur aura bien le message lors de la saisie. En résumé: Saisie untilisateur en A1 Formule en A2 Validation de la saisie de A1 avec pour formule: =A2 essaie encore... ;-) eric |
Merci pour ta persévérance...
Oui effectivement on obtient le message d'erreur. Par contre je viens de me rendre compte que si ma saisie est "fausse" je n'obtiendrai le message d'erreur que si je valide ma saisie par la touche "entrée" ou la touche "tab". Je n'obtiens pas le message d'erreur après ma saisie si je me positionne directement après sur une autre cellule à l'aide de la souris (donc sans avoir utilisé ni la touche "entrée" ni la touche "tab". Est-ce normal ? |
Effectivement c'est une lacune que je n'avais pas constaté.
Pour l'instant difficile de faire mieux à moins que qcq'un arrive à faire fonctionner cette maudite formule directement dans la fenetre de validation ou trouve une autre façon de traiter le pb. Si c'est vraiment genant on peut tjs envisager un contrôle par macro. eric |
Bonjour BB, Eric,
intéressant ce petit post par la recherche à plusieurs sur un problème: moi, ca me fait hachement progresser! merci à tous les 2. réponse partielle (je suis au boulot) pour empécher un chiffre (et un seul) avant ou après (mais pas "dans") sur la cellule F4 validations/données essaies =ET((CODE(F4)>64);(CODE(DROITE(F4;1))>64)) pas trop le temps mais il faudrait regarder le code des caractères accentués si tu les utilises sinon on peut interdire au dessus du code 127 |
Eric, Michel,
meric beaucoup pour votre aide... Concernant les macro, je n'ai jamais compris leur fonctionnement, je ne vais donc pas me lancer dedans ;o) mais merci de la suggestion. La formule =ET((CODE(B1)>64);(CODE(DROITE(B1;1))>64)) fonctionne comme expliquée ci-dessus. Le "64" correspond au 64ème caractère (@) de la police Ascii, c'est bien cela ? Je ne comprends pas la logique de vos formules si complexes car je n'ai jamais utilisé les fonctions qui y sont imbriquées, mais félicitations à vous deux car vos formules fonctionnent ! Vraiment Bravo ! Et encore merci pour votre aide ! |
oui, 64 est le code ascii de @, qui est juste avant le A.
Bonne soirée tous deux eric
|
Bonsoir,
Non, tu ne peux pas. Mais à la place tu peux utiliiser le contrôle 'microsoft forms 2.0 frame' de la 'boite à outils contrôles' qui a bcp plus de propriétès dont 'visible'. eric |
| 05/01 21h49 | [excel] données sur 2 feuilles | Logiciels/Pilotes | 07/01 13h14 | 2 |
| 31/05 11h39 | VBA EXCEL - données multiples listbox | Programmation | 22/11 13h53 | 7 |
| 26/02 06h07 | [Excel] Donnés pour graphique dynamique | Bureautique | 26/02 06h07 | 0 |
| 22/02 12h05 | Excel : Liste/ validation | Logiciels/Pilotes | 23/02 16h58 | 7 |