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 conversion de date [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut Problème de conversion de date
    Bonjour à tous,

    J'ai un soucis pour convertir une date de la forme 11/03/2015 en MERCREDI 11 MARS 2015
    Sur certaines dates ça fonctionne mais sur d'autres non, j'ai une erreur d’exécution 9 l'indice n'appartient pas à la sélection


    Voici ma programmation :
    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
    Private Sub TextBox1_Change()
     
    TextBox1.MaxLength = 10 'nb caractères maxi autorisé dans le textbox
        Valeur = Len(TextBox1)
        If Valeur = 2 Or Valeur = 5 Then
        TextBox1 = TextBox1 & "/"
     
    End If
    TextBox1.Text = UCase(TextBox1.Text)
     
    End Sub
     
    Private Sub CommandButton1_Click()
    j = Array("", "LUNDI", "MARDI", "MERCREDI", "JEUDI", "VENDREDI", "SAMEDI", "DIMANCHE")
    m = Array("", "JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE")
    TextBox2 = TextBox1.Value
    TextBox2 = j(Day(TextBox1.Value)) & " " & Day(TextBox1.Value) & " " & m(Month(TextBox1.Value)) & " " & Year(TextBox1.Value)
     
    End Sub
    J'ai constitué un fichier exemple, par exemple la date 11/03/2015 ne fonctionne pas, le 01/01/2015 fonctionne !
    Merci par avance pour vos aides
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36

  3. #3
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim mydate as date
    Mydate = cdate(format(TextBox1.Value,"yyyy-mm-dd"))
    TextBox2 = j(day(Mydate )) & " " & Day(Mydate) & " " & m(Month(Mydate)) & " " & Year(Mydate)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    Merci mais c'est comme moi il y a la même erreur

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bien vue Clément pour WeekDay, évidant mais j'ai pas pensé!

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur Maintenance Industrielle
    Inscrit en
    Août 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur Maintenance Industrielle
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2013
    Messages : 6
    Par défaut
    Bonsoir,

    Pourquoi erreur d'exécution 9 ? parce que dans l'exemple du 11/03/2015, la commande "j(day(Mydate ))" demande le 11è élément du tableau alors qu'il y en a que 7.

    Pour faire super simple, tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TextBox2  = Format(TextBox1.Value, "dddd dd mmmm yyyy")
    ça devrait marcher.

    Cordialement.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    390
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 390
    Par défaut
    un grand merci à vous deux

  8. #8
    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
    bonsoir
    Avant de poser une question il serait bien d'aller fouiller dans les contrib

    je dis ca mais je crois reconnaitre mon code a ce sujet en ce qui concerne les slashs


    tu aurais donc trouvé cette contrib il suffisait d'ajouter
    textboxX=format( textboxX,"dddd dd mmmm yyyy") et le tour est joué

    enfin bref

    je repose le lien au cas ou tu l'aurais perdu
    http://www.developpez.net/forums/d13...boxs-formates/
    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

  9. #9
    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 re
    essai celui la

    tape 31122015 ou 12312015
    tu a la possibilite de taper j m anée ou m j année dans nimporte quel cas le resultat sera du genre Vendredi 31 décembre 2015
    il te reste a blindé les 2 prmiere tranche j m

    si left(textbox,1)>1 then le 1er chiffre de la 2 eme tranche ne peut que comencer par 1 maximum cela peut etre dans le case 2,5
    tu a aussi la possibilté de revenir en arriere tranche par tranche avec la tous effacer(fleche vers la gauche)
    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
    Const val_numeric = "[0-9]"
    Dim ltt
    Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    ltt = KeyAscii
        If Not Chr(KeyAscii) Like val_numeric Then KeyAscii = 0
        If Len(TextBox1) > 10 Then KeyAscii = 32
        Select Case Len(TextBox1): Case 2, 5: TextBox1 = TextBox1 & "/": End Select
    TextBox1.Tag = TextBox1
    End Sub
    Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
           If KeyCode = 8 Then
            If Len(TextBox1) > 10 Then
                TextBox1 = Left(TextBox1.Tag, 6)
            Else
                If Len(TextBox1) >= 2 Then TextBox1 = Left(TextBox1, Len(TextBox1) - 2)
            End If
        Else
        If Len(TextBox1) = 10 Then TextBox1 = Format(TextBox1.Tag & ChrW(ltt), "dddd dd mmmm yyyy")
            End If
    End Sub
    voila la on a un texte box formaté dynamiquement
    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

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

Discussions similaires

  1. problème de conversion de date
    Par thaundeadboss dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/06/2008, 07h07
  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