Fusionner des colonnes en fonction des heures

Bonjour j'ai une question,

Je ne sais pas si c'est possible mais voilà j'ai 2 fichiers excel

Dans le premier en colonne A : des dates et heures, en colonne B des données X

Dans le deuxième en colonne B : des dates et heures différentes et en colonne B des données Y

Je voudrais en fait fusionner les colonnes A et B de sorte que la nouvelle colonne de date soit triée mais que dans des colonnes à côté il y ait encore la colonne X et la colonne Y dont les données correspondent à chaque date.

Merci d'avance

Bonjour

regarde la macro du fichier joint

cordialement

34fusion-date.xlsm (14.29 Ko)

merci beaucoup je vais tester !!!

Mince je sais pas si ça va marcher parce que ça reste assez lent et que j'ai 20000 lignes de données (2 par seconde)

Bonjour ,

Essaye avec ce code, il diminuera peut-être le temps de traitement :

Option Explicit

Sub Fusion_Date()

Dim i, j, h, x As Integer
Dim val As String

j = 1
h = 1
val = ""
x = 0

While IsEmpty(Range("A" & j)) = False
    j = j + 1
Wend

While IsEmpty(Range("D" & h)) = False
    i = 1
    x = 0
    While IsEmpty(Range("A" & i)) = False And x = 1
        If Range("D" & h).Value = Range("A" & i).Value Then
            Range("C" & i).Value = Range("E" & h).Value
            val = "OK"
            i = i + 1
            x = 1
        Else
            i = i + 1
        End If

    Wend
    If val = "" Then
        Range("A" & j).Value = Range("D" & h).Value
        Range("C" & j).Value = Range("E" & h).Value
        j = j + 1
    End If

    h = h + 1

Wend

End Sub

Mes connaissances restent assez limité alors il y a sans doute une meilleur (et plus rapide ) façon de faire mais je peut malheureusement pas t'aider plus ...

Cordialement

Bonjour

A tester

Option Explicit

Sub Organise()
Dim Lg As Long
Dim J As Long
Dim Tablo

  Application.ScreenUpdating = False
  Lg = Range("A" & Rows.Count).End(xlUp).Row + 1
  Range("D1:D" & Range("D" & Rows.Count).End(xlUp).Row).Copy Range("A" & Lg)
  Range("E1:E" & Range("D" & Rows.Count).End(xlUp).Row).Copy Range("C" & Lg)
  Lg = Range("A" & Rows.Count).End(xlUp).Row
  Range("A1:C" & Lg).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
                  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                  DataOption1:=xlSortNormal
  Tablo = Range("A1:C" & Lg)
  For J = 1 To UBound(Tablo) - 1
    If Tablo(J, 1) = Tablo(J + 1, 1) Then
      Tablo(J, 3) = Tablo(J + 1, 3)
      Tablo(J + 1, 1) = ""
    End If
  Next J
  Range("A1:C" & Lg) = Tablo
  Range("A1:C" & Lg).Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo, _
                  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
                  DataOption1:=xlSortNormal

  On Error Resume Next
  Columns(1).SpecialCells(xlCellTypeBlanks).Resize(, 3).Delete shift:=xlShiftUp

End Sub
Rechercher des sujets similaires à "fusionner colonnes fonction heures"