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 :

Inversion mois/jour lors d'une importation d'un CSV


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2013
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Juin 2013
    Messages : 61
    Points : 19
    Points
    19
    Par défaut Inversion mois/jour lors d'une importation d'un CSV
    Bonjour à tous,

    Je rencontre le même soucis que dans cette discussion et ce 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 "planning" plusieurs données (dont 4 cellules au format date) d'un fichier CSV et de les coller sur mon 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 la 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
    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
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Services à domicile

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3
    Points : 5
    Points
    5
    Par défaut
    ciao
    c'est un probleme general ,le vba ne prend pas les date comme on Excel
    si tu veut tu peut voir ce lien :
    http://www.developpez.net/forums/d93...on+mois%2Fjour

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Soit tu changes le format de la date

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tadate = Format(tadate, "dd/mm/yyyy")
    Soit tu fais un traitement en string

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    annee=right(tadate,4)
    mois=left(tadate,2)
    jour=left(right(tadate,7))
    nouvelledate=jour & "/" mois & "/"  annee

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour,

    il y a eu la -même question dans un post très récent dans lequel la solution de trouvait dès l'ouverture du fichier externe

    par la méthode Workbooks.Open en gérant bien son argument Local


Discussions similaires

  1. [XL-2007] Inversement de date lors d'une importation
    Par zangaloni dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/02/2012, 19h56
  2. Inversion mois/jour lors d'une importation d'un CSV
    Par mamax29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/06/2010, 14h43
  3. Erreur lors d'une importation!
    Par mathumitha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/02/2007, 19h15
  4. [Requete] Inversion mois/jours lors de resultat nul
    Par Jeremie_Vi dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 06/07/2006, 12h47
  5. [ACCESS] probleme Inversion Mois/Jours
    Par fredrider dans le forum Access
    Réponses: 10
    Dernier message: 26/06/2006, 17h37

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