Problème de tri d'une plage de céllules

Bonsoir à tous,

J'en appelle à votre aide pour fixer un bug dont j'ignore l'origine.

En fait, je travaille sur un projet Tableau de bord VBA dans lequel je dois trier une plage de cellules suivant l'ordre croissant des dates, avant de tracer un certain graphique de variation.

J'ai écris la ligne de code suivante pour le tri une erreur survient précisement à cette ligne:

Sheets("BD").Range("B7:BF" & lastLine).Sort Sheets("BD").Range("B7"), xlAscending

Voici tout le bloc de code, si besoin est:

Dim i, lastLine, lineMin, lineMax
        lineMin = 0
        lineMax = 0

        lastLine = Sheets("BD").Range("B" & Rows.Count).End(xlUp).Row

        'Tri de la BD par ordre croissant suivant les dates
        Sheets("BD").Range("B7:BF" & lastLine).Sort Sheets("BD").Range("B7"), xlAscending

        For i = 7 To lastLine
            If Format(Sheets("BD").Range("B" & i).Value, "dd/mm/yyyy") = Format(Date1_TDB.Value, "dd/mm/yyyy") Then
                lineMin = i
                Exit For
            End If
        Next

        For i = 7 To lastLine
            If Format(Sheets("BD").Range("B" & i).Value, "dd/mm/yyyy") = Format(Date2_TDB.Value, "dd/mm/yyyy") Then
                    lineMax = i
            End If
        Next

        MsgBox ("LineMin = " & lineMin & " Linmeax = " & lineMax)

        Sheets("VariationTRS").Select
        ActiveSheet.Shapes.AddChart2(227, xlLine).Select
        ActiveChart.ClearToMatchStyle
        ActiveChart.ChartStyle = 236

        Application.CutCopyMode = False
        Application.CutCopyMode = False

        ActiveChart.SetSourceData Source:=Sheets("BD").Range("AW" & lineMin & ": AW" & lineMax)
        ActiveChart.FullSeriesCollection(1).XValues = "=BD!$B$" & lineMin & ":$B$" & lineMax
        ActiveChart.ChartTitle.Select
        ActiveChart.ChartTitle.Text = "TRS Usine"
        Selection.Format.TextFrame2.TextRange.Characters.Text = "TRS Usine"
        With Selection.Format.TextFrame2.TextRange.Characters(1, 9).ParagraphFormat
            .TextDirection = msoTextDirectionLeftToRight
            .Alignment = msoAlignCenter
        End With
   

Ci joint le classeur si besoin est également.

A l'ouverture cliqquez sur le bouton "Valider_TDB" et l'erreur surviendra

Merci d'avance pour votre attention.

14projvba.zip (0.98 Mo)

Bonjour Agbgio9

Ton seul problème est que tu utilise des cellules fusionnées à la fin de ton tableau

Supprime moi c'est 2 colonnes pour n'en laisser qu'une et tout ira bien

@+

Grand Merci à toi, grand Geek BrunoM45, pour ton aide salutaire.

Rechercher des sujets similaires à "probleme tri plage"