Bonjour le forum,

J'ai un tableau qui fait plusieurs dizaines de milliers de lignes. Dans la colonne BD d'une des feuilles, je voudrais faire la somme des colonnes O à AA pour chaque ligne de la ligne 2 à la dernière ligne non vide (que je définis et appelle LigFinPrev).
J'ai tenté d'utiliser une variable tableau. Etant grand débutant, je me suis inspiré d'un exemple trouvé dans la FAQ.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Dim Montab As Variant, cmpt1 As Long, cmpt2 As Long
Montab = WsJoursPrev.Range("BD2:BD" & LigFinPrev).Value
 
For cmpt1 = LBound(Montab, 1) To UBound(Montab, 1)
    For cmpt2 = LBound(Montab, 2) To UBound(Montab, 2)
        Montab(cmpt1, cmpt2) = WorksheetFunction.Sum(WsJoursPrev.Range("O" & cmpt1 & ":AA" & cmpt1))
    Next cmpt2
Next cmpt1
 
WsJoursPrev.Range("BD2:BD" & LigFinPrev).Value = Montab
Le problème est que la macro calcule bien les sommes mais le résultat est reporté dans la ligne du dessous. (Dans BD3, je retrouve le résultat de [O2:AA2] et ainsi de suite...

Merci de vos lumières encore une fois.