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 inversion date macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut Pb inversion date macro
    Bonjour à tous,

    Malgré de nombreuses recherches je n'ai pas réussi à résoudre mon problème, en m'inscrivant j'espère que vous aller pouvor m'aider car je suis bloqué depuis 1 semaine (je débute dans les macros)

    J'ai créé une macro qui me permet de copier dans un fichier X plusieurs données dont (4 cellules au format date) et de les coller sur un fichier "planning".

    Mon problème est que les dates sont inversée lors de la copie c'est à dire que de 04/06/13 cela passe à 06/04/13

    voici un extrait de ma macro :
    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
    Windows("planning.csv").Activate
        Columns("A:A").Select
        Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
            TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
            Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
            :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
            Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
            ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
            (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
            Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
            33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
            Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
            46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1)) _
            , TrailingMinusNumbers:=True
        Range("E7").Select
        Range("A2:AY1000").Select
        Range("AY2").Activate
        Selection.Copy
        Windows("Planning_final.xlsm").Activate
        ActiveWindow.ScrollRow = 974
        ActiveWindow.ScrollRow = 812
        ActiveWindow.ScrollRow = 650
        ActiveWindow.ScrollRow = 2
        ActiveWindow.SmallScroll Down:=-6
        Range("A2").Select
        ActiveSheet.Paste
        Range("D25").Select
        Sheets("Planning2").Select
            Application.CutCopyMode = False
        Application.Workbooks("planning.csv").Close SaveChanges:=True
     
     
    End Sub
    Je précise que dans les données qu'elle copie, il y a plusieurs colonne avec une date et d'autres avec la date + heure.

    voila merci par avance !!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Avez-vous regardé l'aide Excel pour cette fonction ?

    Dans le tableau ci-dessous, le paramètre 1 dans Array(X,1) correspond au format par défaut. Il faut modifier cette valeur pour obtenir votre bon format de date.


    Cordialement.
    Dernière modification par Invité ; 07/06/2013 à 19h58.

  3. #3
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut toujours pas
    Bonjour,

    Merci pour votre réponse, j'avais déjà tenter de remplacer les colonnes au format date en mettant un 4 mais cela ne fonctionne toujours pas.

    Une autre solution ??

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re-bonjour,

    Mettez au moins un fichier en ligne pour que chacun puisse vous répondre.

    Cordialement.

  5. #5
    Membre averti
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Par défaut
    je comprends bien mais malheuresement je peux pas faire mieux que mettre la macro car les données sont confidentielles........

    la macro a été faite sur excel avec l'enregistreur, les étapes sont :
    1 - supprimer les données de mon fichier planning final de la colonne A à AY
    2 - ouvrir le fichier planning.csv
    3. convertir les données (car elles apparaissent toutes sur la même colonne à l'ouverture)
    4 - copier les données
    5 - coller sur le fichier planning final

    le problème c'est donc que à l'ouverture du fichier planning.csv les dates sont en J/MM/AAAA et lorsque la macro colle elles sont au format US MM/JJ/AAAA

    en espérant que ca aide un peu plus..??

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    le souci doit être à un autre niveau et dépendre des interprébugs d'Excel en version non US, à partir d'une date en string, du 1 au 12 du mois tu risques des inversions et comme par magie à partir du 13 plus de problème...
    voir : Comprendre et gérer les dates sous Excel et en VBA

    D'autre part ce n'est pas aux contributeurs de faire tout le boulot et de jouer aux devinettes, un bon moyen de s'initier au débogage est, justement, de construire un fichier mini qui reproduise ton problème sans données confidentielles et sans manip de classeur ou feuilles inutiles, le but est de reproduire le problème au plus simple. Rien que ce stade t'amène à bien l'isoler et quelque fois à ne pas chercher sans fin à une autre endroit.

    Il faut toujours commencer par le commencement :

    Les règles :http://club.developpez.com/regles/

    Balises code : http://club.developpez.com/aidenouve...es/Balises.gif => lecture = bien meilleure => plus de participation.

    @ Eric KERGRESSE

    Il y a moyen de mettre tes images jointes en miniatures direct dans la texte sans qu'elles squattent le reste du coup, genre :
    Nom : Ormonth Data-1.jpg
Affichages : 179
Taille : 94,8 Ko

    et de continuer à écrire....... /.... un simple clic les agrandit temporairement.

    cordialement,

    Didier

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

Discussions similaires

  1. [XL-2010] Inversion date FR/US avec macro VBA
    Par freakhit dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/04/2014, 13h31
  2. Réponses: 1
    Dernier message: 26/06/2013, 08h33
  3. décalage des dates macro excel
    Par yassinefeki dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/05/2010, 01h17
  4. copiage date macro
    Par djtweety dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/11/2007, 15h01
  5. date macro word 2000
    Par cmgirondins dans le forum VBA Word
    Réponses: 14
    Dernier message: 07/09/2005, 11h09

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