XL 2019 Lenteur macro

KTM

XLDnaute Impliqué
Bonjour chers tous
J'utilise une macro pour insérer une formule dans ma colonne "P".
La macro fonctionne bien mais il se trouve qu'elle est une peu lente si les lignes sont trop nombreuses.
Existe t il un moyen de l'accélérer ?
Merci.
VB:
Sub formule()
Dim dl As Long
With Sheets("Grille_de_Disp")
 .Unprotect "2580"
 dl = .Range("A" & Rows.Count).End(xlUp).Row + 1
 .[Q11] = .Range("A" & Rows.Count).End(xlUp).Row + 1
       .Range("P2:P" & dl).FormulaR1C1 = _
        "=SUMIFS(R2C8:INDIRECT(""$H$""&R11C[1]),R2C1:INDIRECT(""$A$""&R11C[1]),RC[-15],R2C2:INDIRECT(""$B$""&R11C[1]),RC[-14],R2C3:INDIRECT(""$C$""&R11C[1]),RC[-13])"
End With
End Sub
 

job75

XLDnaute Barbatruc
Bonjour KTM,

Ce qui me choque surtout c'est cette formule tarabiscotée que vous entrez en colonne P.

Les INDIRECT la rendent volatile ce qui est nuisible, utilisez plutôt :
VB:
Sub formule()
Dim h As Long
With Sheets("Grille_de_Disp")
    .Protect "2580", UserInterfaceOnly:=True
    h = .Range("A" & Rows.Count).End(xlUp).Row + 1
    .Range("P2:P" & h) = "=SUMIFS(H$2:H$" & h & ",A$2:A$" & h & ",A2,B$2:B$" & h & ",B2,C$2:C$" & h & ",C2)"
End With
End Sub
Testez et dites-nous si c'est plus rapide.

A+
 

Discussions similaires

Réponses
4
Affichages
489
Réponses
6
Affichages
284
Réponses
2
Affichages
700
Réponses
7
Affichages
530
Réponses
11
Affichages
701

Statistiques des forums

Discussions
315 236
Messages
2 117 636
Membres
113 215
dernier inscrit
guillet