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

IHM Discussion :

Suite de la discussion intitulée "format heure/minute capricieux"


Sujet :

IHM

  1. #1
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut Suite de la discussion intitulée "format heure/minute capricieux"
    Bonjour à tout le monde.
    Dans la discussion précédente, je demandais comment changer de champs automatiquement après la saisie de 2 chiffres dans un champs. La solution apportée (format de saisie 99 et auto tabulation sur oui fonctionne à merveille. En revanche, sur "Après mise à jour" de mon champs dans lequel je tape un nombre d'heures compris entre 0 et 24, je contrôle la valeur de ce champs et si la valeur saisie n'est pas comprise entre 0 et 24, j'affiche un MsgBox disant que la valeur saisie n'est pas bonne. Je voudrais faire un SetFocus pour revenir sur mon champs mais "Auto tabulation" semble l'emporter. Puis je y faire quelque chose pour revenir en arrière ?
    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
     
    Private Sub WLUNDI_DEBUT1_HH_AfterUpdate()
     
        If WLUNDI_DEBUT1_HH > 24 Then
            MsgBox ("Vous devez saisir une heure comprise entre 0 et 24")
            WLUNDI_DEBUT1_HH = 0
            WLUNDI_DEBUT1_HH.Requery
            Forms!G_PLANNING!WLUNDI_DEBUT1_HH.SetFocus
        Exit Sub
        End If
     
    WTOTAL_LUNDI_1 = Abs(((WLUNDI_DEBUT1_HH * 60) + WLUNDI_DEBUT1_MM) - ((WLUNDI_FIN1_HH * 60 + WLUNDI_FIN1_MM)))
    WTOTAL_LUNDI_1.Requery
     
    End Sub
    Merci par avance pour votre aide et bon week-end à tout le monde.

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 769
    Points : 14 810
    Points
    14 810
    Par défaut
    bonjour,
    En revanche, sur "Après mise à jour" de mon champs dans lequel je tape un nombre d'heures compris entre 0 et 24, je contrôle la valeur de ce champs et si la valeur saisie n'est pas comprise entre 0 et 24, j'affiche un MsgBox disant que la valeur saisie n'est pas bonne.
    ce genre de contrôle doit toujours se faire "Avant mise à jour" pour bénéficier du Cancel qui annule la saisie en cas de non conformité aux règles et garde le focus tant que la saisie n'est pas correcte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub WLUNDI_DEBUT1_HH_BeforeUpdate(Cancel As Integer)
     
        If WLUNDI_DEBUT1_HH > 24 Then
            MsgBox ("Vous devez saisir une heure comprise entre 0 et 24")
            Me.WLUNDI_DEBUT1_HH.Undo
            Cancel = True
        End If
    End Sub
    tu peux laisser le reste du code dans "Après mise à jour", le Requery peut être remplacé par: Me.refresh ou Me.Recalc

    PS: l'évènement BeforeUpdate doit se comprendre "Avant que les données modifiées d’un contrôle ou d’un enregistrement soient mises à jour" elles sont inscrites définitivement dans la table seulement quand on passe à l'enregistrement suivant ou quand on quitte le formulaire.

  3. #3
    Membre régulier Avatar de gwenagan
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 216
    Points : 100
    Points
    100
    Par défaut
    Bonsoir à tout le monde et merci tee_grandbois. Je comprend mieux en effet les "avant" ou "après" mise à jour. Je te remercie. Je viens de rentrer du boulot et test cela dans la soirée. Mais ça ne peux que marcher maintenant.

    Je vous tiens au courant et vous souhaite à toutes et à tous une bonne soirée et un bon week-end.
    Merci encore.

    En faîte, je modifie mon message. Je viens de tester tout de suite et bien sûr cela fonctionne à merveille.
    Un grand merci et à bientôt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2000] Format Heure/Minute capricieux.
    Par gwenagan dans le forum IHM
    Réponses: 10
    Dernier message: 02/12/2023, 11h20
  2. [XL-2007] Format heure:minute dans Userform.
    Par Eric_du_87 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/10/2013, 19h37
  3. [MySQL] Comment afficher le résultat de ma requête en format heure minutes seconde ?
    Par AmBZH dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/06/2012, 09h15
  4. [XL-2003] tri avec format heure minutes
    Par nazaire dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/04/2011, 15h28
  5. Format heure minute seconde
    Par momo70 dans le forum MATLAB
    Réponses: 1
    Dernier message: 25/06/2007, 10h41

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