XL 2019 copier 2 colonnes d'un classeur A et coller les données dans une seule colonne dans un classeur B

nawak83

XLDnaute Nouveau
Bonsoir la communauté,

je suis novice en VBA et j'ai réussi grâce à vos différent poste à créer mon code VBA.
cependant maintenant je suis fasse à une impasse. je souhaiterai copier les données de ma colonne B et C de mon fichier A (ces données corresponde à la date et l'heure) pour les fusionner dans la colonne F de mon fichier B.
Je souhaiterai que la forme finale soit JJ/MM/AAAA HH:MM:SS sachant que l'heure de la colonne C dans le fichier A est sous forme HH:MM:SS:SSS

En vous remerciant par avance bonne soirée ou bonne journée pour certain
 

nawak83

XLDnaute Nouveau
Bonjour à tous, je rencontre un problème avec le code que vous m'avez fourni.
voici ma macro en vba :
VB:
MonClasseur.Sheets(2).Range("C7:C500").copy
ThisWorkbook.Sheets("Feuil2").range("G2").Pastespecial
Monclasseur.Sheets(2).Range("D7:D500").copy
ThisWorkbook.Sheets("Feuil2").range("G2").Pastespecial Paste:=xlPasteValues; Operation:=xlAdd, SkipBlanks:=False, Transpose:=False

La date est bien collé mais l'heure non.
Au lieu d’avoir l'heure, j'ai 00:00:00 qui s’affiche.
Auriez vous une solution?
 

Dranreb

XLDnaute Barbatruc
Il semblerait qu'on ne puisse ajouter des millièmes de secondes à une date …
Si on peut les sacrifier, ceci donne un résultat :
VB:
Sub test()
   Dim T(), TSpl$(), L&
   T = Worksheets("Feuille1").[C7].CurrentRegion.Value
   For L = 1 To UBound(T, 1)
      TSpl = Split(T(L, 2), ".")
      T(L, 1) = T(L, 1) + TimeValue(TSpl(0))
      Next L
   With Worksheets("Feuille1").[F7].Resize(UBound(T, 1))
      .Value = T
      .NumberFormat = "dd/mm/yyyy hh:mm:ss"
      End With
   End Sub
 

Dranreb

XLDnaute Barbatruc
Ceci a l'air de marcher en fin de compte :
Code:
Sub test()
   Dim T(), TSpl$(), L&
   T = Worksheets("Feuille1").[C7].CurrentRegion.Value
   For L = 1 To UBound(T, 1)
      TSpl = Split(T(L, 2), ".")
      T(L, 1) = CDbl(T(L, 1)) + CDbl(TimeValue(TSpl(0)) + TSpl(1) / 86400000)
      Next L
   With Worksheets("Feuille1").[F7].Resize(UBound(T, 1))
      .Value = T
      .NumberFormat = "dd/mm/yyyy hh:mm:ss.000"
      End With
   End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 335
Membres
102 865
dernier inscrit
FreyaSalander