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 :

Pb format date anglais/Français


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut Pb format date anglais/Français
    Bonjour à vous tous

    Je reviens vers ce forum car j'ai un soucis sur une macro

    Cette macro me sert à tronsvaser des lignes d'un classeur à un autre.( Pas toute la ligne: certaines valeurs).

    Dans le fichier source une des cellules qui est une date est au format standard.

    J'utilise une ligne pour convertir la colonne date en format date
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Columns("J:J").Select
        Selection.TextToColumns Destination:=Range("J1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(1, 4), TrailingMinusNumbers:=True
    Ensuite je copie cette cellule vers le deuxieme classeur comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    Range("R" & j).Value = Format(Workbooks(GaG_FIC).Worksheets(1).Cells(i, 10).Value, "dd/mm/yyyy")
    Et c'est là que certaines dates passe en format americain.

    02/082007 passe en 08/02/2007 par exemple.


    Toute aide sera la bien venue

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks(GaG_FIC).Worksheets(1).Cells(i, 10).NumberFormat = "dd\/mm\/yyyy"
    Les 'backslash' permettent d'obliger l'affichage des 'slash' si tu as un '-' de défini comme séparateur de date dans les paramètres régionaux.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut
    ca marche pas.

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Alors, comme ça ?

    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
    Sub FormaterDate()
        ' La cellule A1 qui a servi a faire le test a été renseignée
        ' en tappant le raccourcis clavier Ctrl + ;
        ' Une copie de A1 existe en format texte (NumberFormat)
        ' dans la cellule A2.
     
        Dim laDate As Variant
        Dim cellule As Range
     
        For Each cellule In Range("A1:A2")
            If IsDate(cellule.Value) Then
                ' pas de problème
              Else
                ' il faut faire une conversion
                ' car la cellule est probablement en format de texte
                If cellule.NumberFormat = "@" Then
                    ' en effet, c'est bien du texte
                    laDate = cellule.Value
                    cellule.NumberFormat = "General"
                    cellule.Value = laDate
                End If
            End If
            cellule.NumberFormat = "dd\/mm\/yyyy"
        Next
    End Sub

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 243
    Par défaut
    Le plus bizarre dans tout ça c'est que toutes ces solutions marchents pour toutes les dates sauf pour une 02/08/2007 ( 2 Aout 2007) qui passe à 08/02/207
    A suivre donc...

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Elles viennent d'où ces dates ?

    Quand on tape une date à la main dans Excel, il faut la taper dans le bon ordre. Pour connaître l'ordre (année mois jour, par exemple) à utiliser sans avoir à toujours consulter les paramètres d'Excel ou encore les paramètres régionaux du système, tu tapes Ctrl + ; (controle plus point-virgule) dans une cellule vide.

Discussions similaires

  1. Format date (anglais / français)
    Par delavega dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 04/01/2012, 14h39
  2. [phpMyAdmin] Format DATE en français par défaut
    Par fchevali dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 07/05/2008, 09h52
  3. format date anglais et français en vba
    Par triaguae dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/04/2008, 12h13
  4. IsDate ou la conversion date anglais/français
    Par pifou25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 05/04/2007, 19h24
  5. Format Date Anglais/Français
    Par macben dans le forum Oracle
    Réponses: 4
    Dernier message: 22/08/2005, 10h12

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