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 de conversion de date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Gard (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut Problème de de conversion de date
    bonjour

    mon problème est le suivant
    je rentre une date dans une txtbox jj/mm/aaaa
    à la validation je la retrouve dans mon formulaire au format mm/jj/aaaa et cela pour les 12 premiers jours du mois
    alors j'ai trouver des discussions à se sujet mais je ne comprend pas
    si quelqu’un pouvait me donner un petit coup de main
    merci d'avance pour vos réponses

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    à la validation je la retrouve dans mon formulaire au format mm/jj/aaaa
    ne nous dit rien de précis.
    Tu "la retrouves" ainsi ? Et avec quel bout de code ?

  3. #3
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Gard (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut suite problème
    Re bonjour
    Déja merci pour l'attention apporté à mon problème
    Donc je disais que je rentré une date dans ma txtbox (01/10/2016) et lors de la validation cette date et devenu dans mon formulaire (10/10/2016)
    alors que mon format et bien sur date et alignement à gauche.
    Ci dessous le code que j'utilise si cela peux aider.

    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Private Sub txtdate1_Change()
     
        txtdate.BackColor = &H80000005
     
    End Sub
     
    Private Sub txtdate_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
     
        txtdate.BackColor = &H80000005
        If InStr("0123456789", VBA.Chr(KeyAscii)) = 0 Then
            KeyAscii = 0
            txtdate.BackColor = &HFF&
        End If
     
    End Sub
     
    Private Sub txtdate_Exit(ByVal Cancel As MSForms.ReturnBoolean)
     
        If Len(txtdate.Text) = 0 Then
            GoTo Fin
        End If
     
        If Len(Replace(txtdate.Text, "/", "")) <> 6 And Len(Replace(txtdate.Text, "/", "")) <> 8 Then
            GoTo ErreurSaisie
        End If
     
        If Len(txtdate.Text) = 6 Then
            If Right(txtdate, 2) > 50 Then
                txtdate = Left(txtdate, 4) & 19 & Right(TextBox1, 2)
            Else
                txtdate = Left(txtdate, 4) & 20 & Right(TextBox1, 2)
            End If
        End If
     
        txtdate.Text = Left(Replace(txtdate.Text, "/", ""), 2) & "/" & Mid(Replace(txtdate.Text, "/", ""), 3, 2) & "/" & Right(Replace(txtdate.Text, "/", ""), 4)
        txtdate.MaxLength = 10
     
        If Not IsDate(txtdate.Value) Then
            GoTo ErreurSaisie
        End If
     
        GoTo Fin
     
    ErreurSaisie:
     
        Cancel = True
        With txtdate
            .BackColor = &HFF&
            MsgBox "Date saisie incorrecte"
            txtdate.Text = Replace(txtdate.Text, "/", "")
            .SetFocus
            .SelStart = 0
            .SelLength = Len(txtdate.Text)
        End With
     
    Fin:
     
    End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    pour tout ce qui est en lien avec les paramètres régionaux, tu peux regarder les solutions proposées par Application.International()

    http://jpcheck.developpez.com/tutori...international/
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Tout me semble à reconsidérer dans ce code de "contrôle de saisie".
    Amuse-toi donc à regarder ce qui se passe si l'utilisateur saisit "011050". Il ne sera en plus même pas prévenu ...
    Commence par cela, s'il te plait.
    On ne verra le reste qu'ensuite.

  6. #6
    Membre confirmé Avatar de orcinus
    Homme Profil pro
    cadres
    Inscrit en
    Mai 2008
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Gard (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 95
    Par défaut RE CODE
    Bonjour
    c'est vrai u as raison.
    Je vais donc essayer de revoir mon code.
    Merci quand même

Discussions similaires

  1. Problème sur la conversion d'une date
    Par mich38 dans le forum VBA Word
    Réponses: 11
    Dernier message: 21/01/2008, 17h39
  2. Problème de conversion de date en C#
    Par Xitog dans le forum Framework .NET
    Réponses: 9
    Dernier message: 10/09/2007, 14h11
  3. Problème de conversion de date
    Par loulou dans le forum Langage
    Réponses: 1
    Dernier message: 29/08/2007, 15h18
  4. [T-SQL] Problème de conversions de dates
    Par kooljy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/06/2006, 14h19
  5. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31

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