Pb inversion date macro FR=>US
Résolu
miliev83
Messages postés
10
Statut
Membre
-
miliev83 Messages postés 10 Statut Membre -
miliev83 Messages postés 10 Statut Membre -
Bonjour,
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 "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 :
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
voila merci par avance !!!
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 "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 :
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
voila merci par avance !!!
A voir également:
- Pb inversion date macro FR=>US
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Hotmail. com ou .fr - Forum Hotmail / Outlook.com
- Coco fr - Accueil - Réseaux sociaux
- Yahoo.com ou .fr ✓ - Forum Yahoo mail
- Créer une adresse mail @yahoo.fr et non @yahoo.com ✓ - Forum Yahoo mail
5 réponses
Bonjour,
tu as fait ça avec l'enregistreur de macro.
Recommence et à l'étape 3 (de mémoire) tu sélectionnes tes colonnes de dates et tu choisis le format Date : JMA.
Sinon sur des données déjà importées au format texte il faut utiliser cdate(ta_date)
Tu peux supprimer tous les ActiveWindow.ScrollRow
Ainsi que les .select inutiles.
Ex, remplacer :
Range("A2").Select
ActiveSheet.Paste
par :
Range("A2").Paste
eric
tu as fait ça avec l'enregistreur de macro.
Recommence et à l'étape 3 (de mémoire) tu sélectionnes tes colonnes de dates et tu choisis le format Date : JMA.
Sinon sur des données déjà importées au format texte il faut utiliser cdate(ta_date)
Tu peux supprimer tous les ActiveWindow.ScrollRow
Ainsi que les .select inutiles.
Ex, remplacer :
Range("A2").Select
ActiveSheet.Paste
par :
Range("A2").Paste
eric
Merci pour ta réponse,
le format JMA est bien sélectionné à l'étape 3.
en revanche (étant novice) je ne vois pas comment et où utiliser la fonction Cdate(ta_date) peut tu m'en dire plus ??
Merci d'avance
le format JMA est bien sélectionné à l'étape 3.
en revanche (étant novice) je ne vois pas comment et où utiliser la fonction Cdate(ta_date) peut tu m'en dire plus ??
Merci d'avance
Bonjour,
le format JMA est bien sélectionné à l'étape 3.
Faux
Toutes tes colonnes sont importées au format xlGeneralFormat (1), aucune au format xlDMYFormat (4).
il te faudrait au moins un Array(x, xlDMYFormat)
Fais F1 sur TextToColumns
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
le format JMA est bien sélectionné à l'étape 3.
Faux
Toutes tes colonnes sont importées au format xlGeneralFormat (1), aucune au format xlDMYFormat (4).
il te faudrait au moins un Array(x, xlDMYFormat)
Fais F1 sur TextToColumns
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
ok alors j'ai mis un 4 pour les colonnes où j'ai des dates ça donne :
Array(5, 4), Array(6, 4)
en revanche colonne 42 et 45 j'ai une date + heure je dois mettre quoi dans ce cas ?
Array(5, 4), Array(6, 4)
en revanche colonne 42 et 45 j'ai une date + heure je dois mettre quoi dans ce cas ?
Pas de format prévu pour ça.
Tu peux tenter de mettre xlTextFormat pour les préserver.
Et traiter ces colonnes avec :
dat = CDate(Split(Cells(lig, col), " ")(0))
heu = CDate(Split(Cells(lig, col), " ")(1))
non testé, à voir...
Sinon déposer un extrait de ton csv.
Et je ne vois pas bien l'intérêt de faire ça si tu sauvegardes en csv pour tout perdre...
Il faut enregistrer au format xls.
eric
Tu peux tenter de mettre xlTextFormat pour les préserver.
Et traiter ces colonnes avec :
dat = CDate(Split(Cells(lig, col), " ")(0))
heu = CDate(Split(Cells(lig, col), " ")(1))
non testé, à voir...
Sinon déposer un extrait de ton csv.
Et je ne vois pas bien l'intérêt de faire ça si tu sauvegardes en csv pour tout perdre...
Il faut enregistrer au format xls.
eric
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question