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 :

Problème de format date et durée VBA


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut Problème de format date et durée VBA
    Fichier peinture.xls

    Bonjour à tous, je suis en train de développer un programme de peinture. J'ai plutôt bien avancé, cependant je reste bloqué sur deux points :

    - Je voudrais mettre un verrou comme ceux présents sur le fichier, sur la date de péremption = TextBox14.
    La date doit être supérieure ou égale à celle d'aujourd'hui, mais cela ne s'affiche pas.

    - 2 ème problème --> il faut que la date de début app peinture=TextBox110, soit supérieure ou égale à la date de fin de préparation peinture(TextBox16) + le temps de séchage(ComboBox46), sinon affichage du verrou.

    Merci d'avance pour votre aide!!

    Hugo

  2. #2
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    Bonjour,

    Peux-tu nous expliquer un peu plus en détail ton problème? Ecris ton code dans le message, plutôt que d'envoyer une PJ, cf. https://www.developpez.net/forums/d8...s-discussions/

    Pour les problèmes de dates, si tu utilises qqc comme TextBox1.Value, essaie avec TextBox1.Value2 à la place.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2017
    Messages : 2
    Par défaut
    1 er problème :

    1 er code pour retranscrire les données saisies sur une base de donnée et afficher en format date automatique. Image 12 et 11 sont les images verrous qui doivent s'afficher en fonction de la date saisie.

    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
    Private Sub TextBox14_Change()
     
    Dim Valeur As Byte
     
    Valeur = Len(UserForm1.Frame1.TextBox14)
    If Valeur = 2 Or Valeur = 5 Then
        UserForm1.Frame1.TextBox14 = UserForm1.Frame1.TextBox14 & "/"
    Else
    End If
     
    Sheets("Archives").Range("F" & j).Value = UserForm1.Frame1.TextBox14.Text
     
    End Sub
    Private Sub TextBox14_AfterUpdate()
     
      If UserForm1.Frame1.TextBox14.Value < Date Then
        UserForm1.Frame1.Image12.Visible = True
        UserForm1.Frame1.Image11.Visible = False
    Else
        UserForm1.Frame1.Image11.Visible = True
        UserForm1.Frame1.Image12.Visible = False
    End If
     
    End Sub

    2 ème problème : 1 er code pour l'affichage de la date et l'heure au moment du click. 2 ème code pour vérifier si le début d'application peinture est supérieure ou égale à l'heure de fin de préparation peinture + le temps de séchage (ComboBox)

    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
    Private Sub TextBox110_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
     
    UserForm1.Frame1.TextBox110.Text = Now
    Sheets("Archives").Range("O" & j).Value = CDate(UserForm1.Frame1.TextBox110.Text)
     
    End Sub
     
    Private Sub TextBox110_Change()
     
    If UserForm1.Frame1.ComboBox46 < HeureDifférence("TextBox16", "TextBox110") Then
     
        UserForm1.Frame1.Image52.Visible = False
        UserForm1.Frame1.Image51.Visible = True
    Else
        UserForm1.Frame1.Image51.Visible = False
        UserForm1.Frame1.Image52.Visible = True
     
    End If
     
    End Sub

  4. #4
    Membre Expert
    Femme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2016
    Messages
    1 703
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2016
    Messages : 1 703
    Par défaut
    As-tu essayé avec Value2 au lieu de Value tout court pour les dates/heures?

    Sinon, j'ai trouvé ça sur une autre discussion :
    La propriété .Text prend la valeur de la zone de texte lorsque cette zone à le focus.
    La propriété .Value est la valeur de la zone de texte après que celle-ci ait été validée, hors lorsque la zone à le focus, la validation n'a pas été faite, elle l'a été que lorsque le focus a quitté le contrôle.
    Alors peut-être devrais tu remplacer les .Value par des .Text

    D'autre part, j'ai l'impression que tu "forces" le format date en ajoutant des "/". Quand on écrit sur une cellule Excel, ça marche bien, mais je ne sais pas bien comment ça réagit avec un textbox! Surtout qu'avec la confusion dates francophones et dates anglophones... ça doit pas être facile à gérer. Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CDate(UserForm1.Frame1.TextBox14.Value) < Date Then
               'OU
    If Format(UserForm1.Frame1.TextBox14.Value, "dd/mm/yyy") < Date Then
    Sinon, HeureDifférence, c'est une fonction que tu as créée?

    J'ai toujours du mal avec les dates aussi ... alors ce ne sont que des idees à essayer ...

Discussions similaires

  1. [XL-2007] Problème de format date
    Par Martialino dans le forum Excel
    Réponses: 5
    Dernier message: 01/08/2010, 09h03
  2. Problème de format date de naissance
    Par philippeshoto dans le forum Sécurité
    Réponses: 4
    Dernier message: 14/01/2009, 06h47
  3. Problème de format date automatique
    Par moilou2 dans le forum IHM
    Réponses: 13
    Dernier message: 30/06/2008, 11h24
  4. Problème de format DATE
    Par sajodia dans le forum Toad
    Réponses: 11
    Dernier message: 09/06/2008, 12h05
  5. [SSAS][2K5] Problème de format date
    Par geof dans le forum SSAS
    Réponses: 6
    Dernier message: 11/04/2008, 18h52

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