Rapport de message :*
 

Re: Tri de tableaux de longueurs variables sur différentes feuilles

Titre du sujet : Re: Tri de tableaux de longueurs variables sur différentes feuilles
par myDearFriend! le 06/08/2009 00:57:19

Bonsoir GGLyon et bienvenue

A priori, je te proposerais un code VBA comme suit :
Dim DerniereFacture As Long
Dim i As Integer
Dim L As Byte

'...
'...

For i = 3 To ActiveWorkbook.Sheets.Count
    For L = 4 To 69
        With ActiveWorkbook.Sheets(i)
            If .Range("B9").Value <> "" And .Range("B9").Value = ThisWorkbook.Sheets("Finances").Range("E" & L).Value Then
                'Recherche de la dernière cellule remplie pour les Factures
                DerniereFacture = .Cells(.Rows.Count, 28).End(xlUp).Row
                'Trier le tableau des factures par dates croissantes
                .Range(.Cells(154, 27), .Cells(DerniereFacture, 35)).Sort _
                    Key1:=.Range("AA154"), Order1:=xlAscending
                '... SUITE DE TON CODE
            End If
            '... SUITE DE TON CODE
        End With
Mais bien évidemment, impossible de tester la proposition sans ton classeur (ou un extrait épuré à l'essentiel du problème)...

Par ailleurs, j'ai un peu de mal à comprendre les points suivants :
- Pourquoi ActiveWorkbook puis ThisWorkbook ? Y a t'il 2 classeurs en jeu ?
- Pourquoi i commence à 3 ? A 2, j'aurai compris que tu exclus une feuille, celle se nommant "Finances", mais 2....
- J'ai aussi du mal à imaginer le pourquoi de cette boucle For L = 4 to 69. Le but est-il de comparer la valeur B9 de chaque feuille avec 65 cellules en colonne E de la feuille "Finances" ?

La seule chose dont je suis quasi sûr, c'est que tes plantages proviennent des Activates et autres Select que tu utilises à tort dans tes codes. A part de très très rares exceptions, il est toujours inutiles d'activer ou sélectionner un objet pour agir dessus en VBA. C'est même la première source de plantages que rencontrent la plupart des débutants...

Je me permets également d'attirer ton attention sur l'importance et l'intérêt de la Déclaration des Variables en VBA.

Cordialement,