Bonjour 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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Sub copie2()
Dim Origine As Worksheet
Dim Destination As Worksheet
Dim Orig As Range
Dim Dest As Range
Dim Tableau1() As String
Dim i As Long
Dim j As Long
Dim Derligne1 As Long
Set Origine = Worksheets("Feuil1")
Set Destination = Worksheets("Feuil2")
Set Orig = Origine.Range("A1")
Set Dest = Destination.Range("A1")
Orig = Orig.Offset()
Dest = Dest.Offset()
Dim Pass1 As Double
Dim Pass2 As Double
Pass1 = Timer
With Sheets("Feuil1")
    Derligne1 = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
 
 
ReDim Tableau1(0 To Derligne1)
 
For i = 0 To UBound(Tableau1)
Tableau1(i) = Orig.Offset(i, 0)
Next i
 
 
 
 i = 0
 j = 0
 
 Do While Tableau1(i) <> "" And Dest.Offset(j, 0) <> ""
 If Tableau1(i) = Dest.Offset(j, 0) Then
 Dest.Offset(j, 6) = Orig.Offset(i, 2)
    If Dest.Offset(j + 1, 0) = Dest.Offset(j, 0) Then
    i = i
    j = j + 1
    Else
    i = i + 1
    j = j + 1
    End If
 ElseIf (Dest.Offset(j, 0) - Orig.Offset(i, 0)) > "0,1" Then
 i = i + 1
 j = j
 Else
 i = i
 j = j + 1
 End If
 
 Loop
Pass2 = Timer
MsgBox Pass2 - Pass1 & " secondes "
End Sub
Cette macro marche!
Elle est juste très lente et j'aimerais la rendre plus rapide et en même temps, l'appliquer à tous les onglets.

Ce qu'elle fait:
J'ai 2 feuilles horodatées en ligne A.
La macro copie les cellules C de la feuille 1 vers les cellules G de la feuille 2, en fonction de l'horodatage des lignes.

Exemple:
Feuil1
Colonne A__________Colonne C
21/06/2014 19:20__________A
21/06/2014 19:30__________A
21/06/2014 19:40__________B
21/06/2014 19:50__________D
21/06/2014 20:00__________D

Feuil2
Colonne A__________ColonneG
21/06/2014 19:20__________A
21/06/2014 19:20__________A
21/06/2014 19:20__________A
21/06/2014 19:20__________A
21/06/2014 19:20__________A
21/06/2014 19:30__________A
21/06/2014 19:30__________A
21/06/2014 19:30__________A
21/06/2014 19:30__________A
21/06/2014 19:30__________A
21/06/2014 19:40__________B
21/06/2014 19:40__________B
21/06/2014 19:40__________B
21/06/2014 19:40__________B
21/06/2014 19:40__________B
21/06/2014 19:40__________B
21/06/2014 19:50__________D
21/06/2014 19:50__________D
21/06/2014 19:50__________D
21/06/2014 19:50__________D
21/06/2014 20:00__________D
21/06/2014 20:00__________D