VBA ordre chronologique

Bonjour,

Je me permets de vous écrire pour solliciter votre aide.J'ai hériter d'un fichier excel avec une partie VBA que je ne maitrise pas.

Je souhaiterais comparer l'année 2017 à 2018 ; il y a un premier tableau de la colonne B à G (2017) et un autre tableau de la colonne H à M (2018). Est-il possible de les classer par ordre chronologique? (janvier, février, mars....)

Merci.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cli$, a%

If Target.Address = "$A$2" Then

If Target <> "" Then

cli = Target: a = Target.Cells(1, 2)

Recherche cli, a

Else

a = Me.Range("B3").CurrentRegion.Rows.Count - 3

Me.Range("B4").Resize(a, 12).ClearContents

End If

End If

End Sub

Sub Recherche(cli As String, a As Integer)

Dim dA1(), dA2(), v1%, v2%, n%, i%, j%, col

col = Array(3, 4, 5, 14, 16, 22)

With Worksheets("données")

n = .Cells(.Rows.Count, 1).End(xlUp).Row

For i = 2 To n

If .Cells(i, 2) = cli Then

If .Cells(i, 1) = a Then

ReDim Preserve dA1(5, v1)

For j = 0 To 5

dA1(j, v1) = .Cells(i, col(j))

Next j

v1 = v1 + 1

ElseIf .Cells(i, 1) = a + 1 Then

ReDim Preserve dA2(5, v2)

For j = 0 To 5

dA2(j, v2) = .Cells(i, col(j))

Next j

v2 = v2 + 1

End If

End If

Next i

End With

Application.ScreenUpdating = False

With Worksheets("Visuel")

n = .Range("B3").CurrentRegion.Rows.Count - 3

If n > 0 Then .Range("B4").Resize(n, 12).ClearContents

If v1 > 0 Then .Range("B4").Resize(v1, 6).Value = WorksheetFunction.Transpose(dA1)

If v2 > 0 Then .Range("h4").Resize(v2, 6).Value = WorksheetFunction.Transpose(dA2)

End With

End Sub

Salut tibo,

ouais, génial! Parfait!

Et, nous, on hérite de quoi?

A+

Bonjour,

Ci-joint le fichier.

C'est dans l'onglet "visuel" où je souhaiterais pouvoir comparer mon 2017 vs mon 2018 de façon chronologique.

Merci.

Cordialement,

Bonjour,

Bonjour,

Tu appliques un ordre personnalisé de tri, exemple :

Sub ExempleTri()
    With Worksheets("Visuel").Range("B4:G6")
        .Sort key1:=.Cells(1, 1), order1:=xlAscending, ordercustom:=4, Header:=xlNo
    End With
End Sub

4 correspond à la liste prédéfinie des mois (noms entiers).

Cordialement.

Rechercher des sujets similaires à "vba ordre chronologique"