bonjour a tous
j'ai encroe un soucis avec find sur une date
j'ai essayé plusieur facon de l'aborder mais rien n'y fait il semblerait que find renvoie quand meme nothing
le but de cette macro et de copier des ligne si la date n'existe pas dans le sheets archive /rien faire si elle existe
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
Sub archivages()
    Dim donné, arrivée, cel As Range, ligarriv As Range
    With Sheets(1)
        arrivée = .Range("B3:F3").Value
        donné = Array(Format(.Range("B4"), "dd/mm/yyyy"), .Range("B7"), .Range("B6"), .Range("B9"), .Range("B8"), .Range("B5"))
        Set r1 = .Range("A18:k18")
        Set r2 = .Range("A26:k26")
        Set r3 = .Range("A27:k27")
        Set Rng = Application.Union(r1, r2, r3)
    End With
    Set ligne = Sheets("archive").Columns("A:A").Find(CDate(Sheets(1).Range("B4").Value))
    'Sheets("archive").Columns("A:A").Find(Sheets(1).Range("B4").Value, lookat:=xlWhole)
    ' Sheets("archive").Columns("A:A").Find(Format(Sheets(1).Range("B4").Value, "dd/mm/yyyy"))
    If ligne Is Nothing Then
        Rng.Copy
        Set plage_dest = Sheets("archive").Cells(Rows.Count, "G").End(xlUp).Offset(1, 0).Resize(3, 11)
        plage_dest.PasteSpecial Paste:=xlPasteValuesAndNumberFormats    'voir Enum ci-dessous
        Sheets("archive").Cells(Rows.Count, 1).End(xlUp).Offset(3, 0).Resize(1, 6) = donné
    End If
    Set cel = Sheets("archive").Columns("A:A").Find(Format(Sheets(1).Range("B2"), "dd/mm/yyyy"))
    If Not cel Is Nothing Then
        Set ligarriv = cel.Offset(0, 17).Resize(1, 5)
        ligarriv = arrivée
    End If
    lig = Sheets("archive").Cells(Rows.Count, "G").End(xlUp).Row
    With Sheets("archive").Range("A" & lig & ":Aw" & lig).Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = xlAutomatic
        .Weight = xlThick
    End With
    'MFC
    'MsgBox ligarriv.Address
End Sub