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 date au format international [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 345
    Points : 249
    Points
    249
    Par défaut Problème date au format international
    Bonjour,

    J'essaie de mettre mes dates au format international en procédant comme suit :

    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
     
     
    With WsSource
        If .Cells(1, 1) = 1 Then .Rows(1).Delete
        Nbl = .Range("A1").CurrentRegion.Rows.Count
        Nbc = .Range("A1").CurrentRegion.Columns.Count
     
        .Columns(1).Select
        Selection.NumberFormat = "General"
     
        .Columns(36).Select
        Selection.NumberFormat = "General"
     
        For i = 1 To Nbc
            .Columns(i).Hidden = False
        Next i
     
        Set a = Nothing: Set a = .Rows(1).Find("Date d'effet", , xlValues, xlWhole)
        Set b = Nothing: Set b = .Rows(1).Find("Date livraison souhaitée", , xlValues, xlWhole)
        Set c = Nothing: Set c = .Rows(1).Find("Date de début du processus", , xlValues, xlWhole)
        Set d = Nothing: Set d = .Rows(1).Find("Date d'envoi ", , xlValues, xlWhole)
     
            For i = 2 To Nbl
                .Cells(i, a.Column).Value = Format(.Cells(i, a.Column).Value, "yyyy-mm-dd")
                .Cells(i, b.Column).Value = Format(.Cells(i, b.Column).Value, "yyyy-mm-dd")
                .Cells(i, c.Column).Value = Format(.Cells(i, c.Column).Value, "yyyy-mm-dd")
                .Cells(i, d.Column).Value = Format(.Cells(i, d.Column).Value, "yyyy-mm-dd")
     
            Next i
     
    End With

    Mais ça ne fonctionne pas

    je n'ai aucune erreur mais toutes les cellules ne changent pas de format alors que manuellement le format change, pourrais je avoir de l'aide svp ?

    Cordialement
    Lorsque vous avez obtenu une réponse satisfaisante à votre discussion, N'oubliez pas de cliquer sur

    L'erreur n'annule pas la valeur de l'effort accompli.

  2. #2
    Invité
    Invité(e)
    Par défaut
    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
     
     
    With WsSource
        If .Cells(1, 1) = 1 Then .Rows(1).Delete
        Nbl = .Range("A1").CurrentRegion.Rows.Count
        Nbc = .Range("A1").CurrentRegion.Columns.Count
     
        .Columns(1).Select
        Selection.NumberFormat = "General"
     
        .Columns(36).Select
        Selection.NumberFormat = "General"
     
        For i = 1 To Nbc
            .Columns(i).Hidden = False
        Next i
     
        Set a = Nothing: Set a = .Rows(1).Find("Date d'effet", , xlValues, xlWhole)
        Set b = Nothing: Set b = .Rows(1).Find("Date livraison souhaitée", , xlValues, xlWhole)
        Set c = Nothing: Set c = .Rows(1).Find("Date de début du processus", , xlValues, xlWhole)
        Set d = Nothing: Set d = .Rows(1).Find("Date d'envoi ", , xlValues, xlWhole)
     
            For i = 2 To Nbl
                 .Cells(i, a.Column).NumberFormat = "General": .Cells(i, b.Column).NumberFormat = "General": .Cells(i, c.Column).NumberFormat = "General": .Cells(i, d.Column).NumberFormat = "General"
                .Cells(i, a.Column).Value = Format(.Cells(i, a.Column).Value, "yyyy-mm-dd")
                .Cells(i, b.Column).Value = Format(.Cells(i, b.Column).Value, "yyyy-mm-dd")
                .Cells(i, c.Column).Value = Format(.Cells(i, c.Column).Value, "yyyy-mm-dd")
                .Cells(i, d.Column).Value = Format(.Cells(i, d.Column).Value, "yyyy-mm-dd")
     
            Next i
     
    End With

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 345
    Points : 249
    Points
    249
    Par défaut
    Bonjour rdurupt,

    Merci, toutes les cellules changent maintenant de format mais se mettent dans ce format "dd/mm/yyyy"

    Cordialement
    Lorsque vous avez obtenu une réponse satisfaisante à votre discussion, N'oubliez pas de cliquer sur

    L'erreur n'annule pas la valeur de l'effort accompli.

  4. #4
    Invité
    Invité(e)
    Par défaut
    le format internationale ne change pas la présentation dans Excel, mais lui permet de ne pas inverser le jour et le mois du forma américain qui sera pris par défaut dans le cas contraire!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Cells(i, a.Column).NumberFormat = "yyyy-mm-dd"

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2012
    Messages : 345
    Points : 249
    Points
    249
    Par défaut
    Ok, je vois !

    Merci beaucoup
    Lorsque vous avez obtenu une réponse satisfaisante à votre discussion, N'oubliez pas de cliquer sur

    L'erreur n'annule pas la valeur de l'effort accompli.

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

Discussions similaires

  1. Problème avec les Formats de Date
    Par sebac dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 08/01/2008, 15h30
  2. Problème Date au format Américain
    Par nocrash dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/06/2007, 14h58
  3. Problème requête si format Date à Null
    Par Thetonio007 dans le forum SQL
    Réponses: 7
    Dernier message: 08/06/2007, 10h10
  4. Encore un problème sur le format d'une date!
    Par bygui dans le forum Langage
    Réponses: 1
    Dernier message: 26/06/2006, 08h41
  5. Réponses: 3
    Dernier message: 13/10/2005, 21h39

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