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 :

VBA: controle date formulaire


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut VBA: controle date formulaire
    Bonjour,
    J'ai un peu de mal à mettre en place quelques conditions ou contraintes liées aux dates pour le controle de mon formulaire.
    D'abord je veux que
    • la date saisie dans le Textbox0 soit antérieure à la date du jour

    Ensuite j'ai une période (deux dates) qui se trouvent sur de cellules G1 et I1 dans ma feuille1 .
    • Je veux que la date saisie dans mon Textbox1 ne soit pas supérieure à la date dans la cellule I1.
    • Aussi que la date que je vais rentrer dans le Textbox2 soit comprise entre mes deux dates dans les cellules G1 et I1.

    Par avance merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour

    Voici pour toi :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
     
    Private Sub CommandButton1_Click()
     
    If IsDate(Me.TextBox0) Then
        If CDate(Me.TextBox0) < Date Then
            If IsDate(Me.TextBox1) Then
                If CDate(Me.TextBox1) <= Worksheets("feuille1").Range("I1") Then
                    If IsDate(Me.TextBox2) Then
                        If Worksheets("feuille1").Range("G1") <= CDate(Me.TextBox2) And CDate(Me.TextBox2) <= Worksheets("feuille1").Range("I1") Then
     
                            'test valide
                            MsgBox "ok !"
     
                        Else
                            MsgBox "La date insérée dans la TextBox2 doit être comprise entre le " & Worksheets("feuille1").Range("G1") & " et le " & Worksheets("feuille1").Range("I1") & "."
                            Exit Sub
                        End If
                    Else
                        MsgBox "La valeur insérée dans la TextBox2 n'est pas une date."
                        Exit Sub
                    End If
                Else
                    MsgBox "La date insérée dans la TextBox1 doit être antérieure à la date du " & Worksheets("feuille1").Range("I1") & "."
                    Exit Sub
                End If
            Else
                MsgBox "La valeur insérée dans la TextBox1 n'est pas une date."
                Exit Sub
            End If
        Else
            MsgBox "La date insérée dans la TextBox0 doit être antérieure à la date du jour."
            Exit Sub
        End If
    Else
        MsgBox "La valeur insérée dans la TextBox0 n'est pas une date."
        Exit Sub
    End If
     
    End Sub
    J'ai effectué la validation via un CommandButton.
    Je n'ai pas effectué tous les tests... Mais tu auras le principe.
    Je pense qu'il y a peut-être plus simple. Cependant, je ferais comme cela !

    N'hésite pas à revenir vers moi !

    Cordialement,
    Kimy

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu exemple
    ceci devrait t'empêcher de taper une mauvaise date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub TextBox0_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
        Dim madte
        If Len(TextBox0) = 9 Then
            If IsDate(TextBox0) Then
                If CDate(TextBox0) > Sheets(1).[G1] And CDate(TextBox0) < Sheets(1).[I1] Then
                    TextBox0 = TextBox0
                Else
                    madte = False
                End If
            End If
        End If
    If madte = False Then TextBox0 = ""
    End Sub
    adapte bien sur le sheets
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 51
    Par défaut
    re,
    merci pour vos réponses. Pour l'adaptation, je devrais pas avoir de problème.
    Je reviens bientôt après adaptation pour valider le sujet comme résolu.

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

Discussions similaires

  1. [XL-2007] VBA: verrouiller controle de formulaire et controle activeX
    Par beniboy dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/12/2012, 18h37
  2. Réponses: 3
    Dernier message: 04/02/2011, 14h36
  3. concaténation dans un controle de formulaire en vba
    Par alexkickstand dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/02/2009, 18h45
  4. vba calcul Date sql et formulaire
    Par langelot222 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/06/2007, 17h19
  5. [VBA-E] Boite à outils Controles ou Formulaires dans EXcel
    Par xeron33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2007, 12h26

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