XL 2019 Lenteur macro

  • Initiateur de la discussion Initiateur de la discussion KTM
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
163
Réponses
2
Affichages
402
Réponses
4
Affichages
552
Réponses
4
Affichages
461
Retour