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

Macros et VBA Excel Discussion :

limiter un "-" dans un textbox et variations sur le thème ^^^


Sujet :

Macros et VBA Excel

  1. #61
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Excuse-moi, Maxence Hubiche, mais :
    1) l'utilisateur final se moque éperduement de ce qui est codé "derrière" !
    Que l'effet dont il dispose provienne de l'application de ceci ou de celà n'est pas son affaire (DateTimePicker ou autre... il ignore totalement ce que c'est...). Il se trouve tout simplement face à une attente de saisie et à un rejet immédiat (et sans message) dans les cas Microsoft exposés...
    Là n'est d'ailleurs pas mon propos.
    Effectivement l'utilisateur se fout de ce qui est codé derrière
    Effectivement, l'usage de contrôles tout prêts supprime le contrôle par le développeur (Calendar)
    Effectivement, il est dans une saisi particulière (puisque ce sont des cas particuliers) dont il connait les limites ! Je ne suis pas sûr sûr sûr qu'un utilisateur saches qu'un integer est compris entre -, et comp
    Citation Envoyé par ucfoutu Voir le message
    2) Non, je n'ai en ce qui me concerne aucune difficulté à contrôler (pendant la saisie elle-même) la cohérence de'une date tout en en imposant le format de saisie (et sans DateTimePicker ni Calendar)
    C'est là que nous différons.
    Effectivement, comm je l'ai dit plus haut, le contrôle en cours de saisie ne pose aucun problème si la "forme" est imposée (00/00/0000). Mais quid si l'utilisateur copie une date telle "01 mars 2007"
    Citation Envoyé par ucfoutu Voir le message
    3) je voudrais voir comment tu t'y prends, toi, en contrôlant la saisie d'une d et +ate à l'exit ...(selon la manière dont tu feras ce contrôle, nous arriverons peut-être à la découverte de certaines particularités de VB )
    Je présume qu'un IsDate(), ou/et un CDate() serait un bon élément de départ
    Et si, vraiment, on voulait délirer, alors on créerait un recordset ADO déconnecté avec un champ de type date, et on tenterait d'intégrer la donnée dedans.

  2. #62
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par Maxence
    Heureusement aussi que certains formulaires (puisqu'on parlait de UserForms) permettent une navigation 'souple' permettant à l'utilisateur d'aller là où LUI le veut, et pas là où LE DEVELOPPEUR le veut. Et là également, il sera bon de s'assurer que tout sera correctement rempli avant de valider la saisie globale, et pas chaque caractère tapé.
    +1 Ce qui permet à l'utilisateur, avant validation, de vérifier et d'éventuellement corriger une saisie. Ce qui est mon argument premier.
    Une vérification qui réunit à la fois la cohérence de la saisie (format, donnée) et qui s'assure que tous les champs "obligatoires" ont bien été renseignés, permet d'être plus systématique et exhaustif dans sa rédaction.
    Comme toujours ce n'est qu'un avis... Mais je le partage

  3. #63
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Et voilà !

    Non, Isdate permettrait bien de contrôler la cohérence mais serait incapable d'en vérifier le reste :

    Exemple : l'application attend une date jj/mm/yyyy

    l'utilisateur saisit "01/31/2008" au lieu de "01/01/2008" (entre autres) ...

    Sa saisie n'est bpas une date jj/mm/yyyy cohérente, hein ...

    Allons-y :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command1_Click()
      toto = "01/31/2008"
      If IsDate(toto) Then MsgBox "c'est bien une date"
      MsgBox "et voilà comment on enregistre la date du " & DateValue(toto)
    End Sub
    Avec mon contrôle pendant la saisie, la chose n'est absolument pas possible.

    Bien sur, bien sur, on peut alors faire des quantités de contrôles également au moment de l'exit. Moi, je les fais avant ... et l'utilisateur ne serait même pas capable de frapper le 3 de 31 ... immédiatement !!!... et il n'aurait pas non plus à se préoccuper du déparateur choisi (ici le /) qui viendrait s'ajouter seul au moment propice et s'effacerai (seul) sur le bacspace du chiffre qui le suit...

    Et ceci n'est rien à côté de ce dont j'ai parlé plus haut (outil déjà terminé sous VB6 et allant beaucoup plus loin, ... genre DTPIcker, mais mille fois plus ergonomique...)

  4. #64
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    Et voilà !

    Non, Isdate permettrait bien de contrôler la cohérence mais serait incapable d'en vérifier le reste
    Et voilà !
    Encore une fois, je tends LA perche, et tout content, tu te précipites dessus, omettant tout le reste.
    Je SAVAIS en parlant de IsDate que tu allais avancer ces arguments.
    Ils sont tellement habituels !
    D'où le Cast (CDate) et surtout l'utilisation d'un champ typé.
    Sans parler également de toutes les autre possibilités (fonctions Format, récupération des paramètres de Windows pour les formats en cours autorisés, expressions rationnelles, etc.)
    Et tu te précipites encore une fois sur LE point qui pourrait valider tes dires, en omettant les autres, laissant à penser que ta méthode est la bonne. Oubliant même de préciser que ta méthode ne peut plus vérifier la saisie sous une forme libre (31 janvier 2008) ce qui est mon objection au contrôle en cours de saisie!


  5. #65
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Non, je ne m'amuse pas ... pas du tout, même...

    Et tout le reste (tes etc...) je les connais depuis fort longtemps... (ce sont même eux que j'utilisais avant hurlements... )
    Bien évidemment, qu'on peut lancer (je l'ai dit) tout un tas de vérifications lors de l'Exit. Bien évidemment...
    Moi, je le fais bien avant, et de façon simple... à ce point simple que l'on peut saisir sous le format que l'on souhaite (celui auquel est habitué l'utilisateur et pas forcément selon les paramètres régionaux de la machine) quels que soient les paramètres régionaux de la machine... T'est-il arrivé de trravailler avec une équipe consitituée de plusieurs nationalités (et habitudes) différentes... ? Et quelquefois l'un prenant la place de l'autre sur la même machine ? Moi oui !!!

    Mais bon ...

    J'avais dit que je voulais arrêter cette discussion stérile et ai failli à ma parole.

    Amitiés. J'arrête ici.

  6. #66
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Dommage !

    J'aurai bien aimé voir ce code qui teste tout à la volée
    Ca aurait donné un élément de plus de comparaison aux lecteurs.
    Si tu avais cela, ce serait cool !

    et pour répondre à ta question : Oui, j'ai déjà travaillé avec des multinationales - multilanguage - ayant dans mes clients des "petites PME" telles L'Oréal et Kärcher, pour ne citer que celles-ci

  7. #67
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 33
    Points
    33
    Par défaut
    Citation Envoyé par Maxence HUBICHE Voir le message
    Dommage !

    J'aurai bien aimé voir ce code qui teste tout à la volée
    Ca aurait donné un élément de plus de comparaison aux lecteurs.
    Si tu avais cela, ce serait cool !
    je suis d'accord, un code qui teste à la volée, moi ça me plait !!


  8. #68
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Juste ce dernier mot, donc :

    Cherche le sur ce forum, ce code !
    Quelqu'un l'y a mis malgré moi (me relire)

    Encore que : j'ai maintenant fait mille fois mieux...

    Amitiés.

  9. #69
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Dans ce cas, on pourrait voir le 1000 fois mieux ?
    Ca pourra servir, bien sûr !

    Dans le cas contraire... on pourrait penser que le verbe est fort, mais l'action plus faible ... hélas ! ... et que, donc, cette solution n'est pas si réaliste que cela...

  10. #70
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Heu ...
    Pas de solution "100 fois mieux" ?

  11. #71
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Citation Envoyé par Maxence HUBICHE Voir le message
    Dans le cas contraire... on pourrait penser que le verbe est fort, mais l'action plus faible ... hélas ! ... et que, donc, cette solution n'est pas si réaliste que cela...
    C'est exactement celà !
    On n'en parle donc plus.

  12. #72
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par Maxence HUBICHE Voir le message
    Heu ...
    Pas de solution "100 fois mieux" ?
    Il avait dit
    Citation Envoyé par ucfoutu
    Encore que : j'ai maintenant fait mille fois mieux...


    Maxence, déçu je suis de voir que tu dévalorises son invisible solution ...

    Cela dit, sur un forum de partage d'infos techniques, je trouve très dommage de ne pas partager...

  13. #73
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Citation Envoyé par ucfoutu
    On n'en parle donc plus.
    Si si ! Parlons-en ! On a rien de mieux à faire !

  14. #74
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    - La solution du contrôle à la volée, Pierre Fauconnier, a déjà été mise sur ce forum (me relire) , et ce en dépit de ma volonté....
    - le "encore mieux" que ce que j'ai déjà écrit remplace beaucoup plus ergonomiquement et simplement les contrôles DTPIcker et Calendar. Je l'ai déjà fait sous VB6 et m'apprêtait à transposer pour VBA... Mais (me relire également) ... On a fini par me convaincre qu'il était mieux de se contenter de contrôler lors de l'Exit, n'est-ce-pas ? On y a mis toute son énergie, même ... et on m'a donc convaincu ... et je laisse tomber cette transposition pour VBA.

    - si TOI, tu es intéressé par la chose, je te fais parvenir tout ce qui faut pour VB6 par un MP. Si ensuite, tu veux t'y mettre pour une transposition vers VBA, à toi, donc (moi je laisse, maintenant ...) mais attend-toi à ce que la chose ne sera pas facile à suivre ....(écrite par ce radin de ucfoutu).
    Pour TE faciliter les choses, je suis même prêt à te donner le code avant même d'en avoir fait un OCX ... (code, donc, moins difficile à suivre ).

    Tu dis ...

  15. #75
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par ucfoutu Voir le message
    - La solution du contrôle à la volée, Pierre Fauconnier, a déjà été mise sur ce forum (me relire) , et ce en dépit de ma volonté....
    A moins d'avoir déposé un brevet logiciel, il n'y a aucune interdiction de mettre à disposition, ici ou ailleurs, le code créé par quelqu'un d'autre. Tout au plus peut-on demander l'élégance de citer la source... Je ne conçois donc pas que cela ait été fait en dépit de ta volonté, puisque tu te dépossèdes de toute volonté et de tout droit sur ce code au moment où tu le transmets à un tiers...

    Citation Envoyé par ucfoutu Voir le message
    -
    - si TOI, tu es intéressé par la chose, je te fais parvenir tout ce qui faut pour VB6 par un MP. Si ensuite, tu veux t'y mettre pour une transposition vers VBA, à toi, donc (moi je laisse, maintenant ...) mais attend-toi à ce que la chose ne sera pas facile à suivre ....(écrite par ce radin de ucfoutu).
    Pour TE faciliter les choses, je suis même prêt à te donner le code avant même d'en avoir fait un OCX ... (code, donc, moins difficile à suivre ).

    Tu dis ...
    Je dis, donc!

    N'étant pas du tout convaincu de l'utilité, du confort et de la pertinence du contrôle de saisie à la volée, je ne suis pas à la recherche d'une solution allant dans ce sens...

  16. #76
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    C'est donc déjà entre tes mains ... (ocx "redécomposé" pour rendre les choses moins illisibles...)...

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Réponses: 2
    Dernier message: 06/05/2008, 07h18
  2. [MySQL] Pourquoi dois-je utiliser des "quotes penchées" dans mes requêtes?
    Par v4np13 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/02/2008, 23h23
  3. Afficher quote/guillemet dans un input
    Par EggY14 dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 12h59

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