Vba - Accélérer la procédure ?

noviceAG

XLDnaute Impliqué
Bonsoir cher Forum,
Avec ce code, je divise la somme de chaque cellule de la plage par 7
Trouvant quand même le déroulement des opérations un peu longuet, y a-t-il possibilité de l'accélérer ?

For Each Cellule In Range("AD3:AM751")
Cellule = Cellule / 7
Next Cellule

Je vous en remercie tous.
 

CBernardT

XLDnaute Barbatruc
Re : Vba - Accélérer la procédure ?

Bonsoir noviceAG et le forum,

essaye avec cette macro ou la division s'effectue dans un tableau dynamique :

Sub DiviserParSept()
Dim i As Integer, j As Integer, Tablo
Tablo = Range("AD3:AM751")
For i = 1 To UBound(Tablo, 1)
For j = 1 To UBound(Tablo, 2)
Tablo(i, j) = Tablo(i, j) / 7
Next j
Next i
Range("AD3:AM751") = Tablo
End Sub
 

jeanpierre

Nous a quitté
Repose en paix
Re : Vba - Accélérer la procédure ?

Bonsoir noviceAG,

Pas ton fichier pour tester le temps... mais,

saisir 7 dans une cellule vide et un Copier dessus.

Selection de ta plage AD3:AM751 et Collage spécial, cocher division, c'est instantané.....

Voir à mettre ceci sous macro, avec l'enregistreur..... si ta plage est fixe.

Bonne soirée.

Jean-Pierre
 

CBernardT

XLDnaute Barbatruc
Re : Vba - Accélérer la procédure ?

Bonjour au fil,

Afin de t'aider dans ton embarras, j'ai réalisé un test sur 12 millions de cellules. C'est la macro de soenda qui, sur ma bécane, est plus rapide de 10%.

Syntaxe que je garde au chaud pour de futures macros, merci ! :)
 

Discussions similaires

Statistiques des forums

Discussions
312 585
Messages
2 089 997
Membres
104 335
dernier inscrit
NicoExcel54