XL 2016 VBA & boucle for

sebastien450

XLDnaute Occasionnel
Bonjour,
J'ai un code VBA un peu lent, mon tableau grandis et cela devient génant.
VB:
 For X5 = 2 To TAB5  sur mon tableau (qui fait 2500 lignes)
        If Feuil6.Cells(x, 12).Value = "MANQUE APPROS" Then Exit For 'je vérifie la condition 1 et je sort dans ce cas'
        If Feuil5.Cells(X5, 4).Value = Feuil5.Cells(X2, 4).Value Then Feuil5.Cells(X5, 5).Value = Feuil5.Cells(X5, 5).Value - Feuil5.Cells(X2, 1).Value: je vérifie si mes données sont identiques et si c'est le cas je modifie une valeur
 Next X5

J'aimerais éviter le for - to car je rentre dans chaque ligne vérifie une condition puis ressort si pas acquise. Comment vérifier dés le départ ?
 

Wayki

XLDnaute Impliqué
Bonsoir,
Placez application.screenupdating = false en début de code
Et
Application.screenupdating = True en fin de code
L'utilisation de tableaux VBA accélère également grandement la rapidité des macros, mais pour cela il nous faudrait un fichier.
A +
 

Phil69970

XLDnaute Barbatruc
Bonjour à vous tous

J'ai un code VBA un peu lent, mon tableau grandis et cela devient génant.
Je pense que c'est la conception même de ton code qui est à revoir

Si j'ai bien compté tu as 5000 lignes dans la feuille 1 et ~80 lignes dans la feuille 2 et tu fais au minimum 380 000 accès aux différentes cellules de tes 2 feuilles à travers des boucles et ça c'est long ..... très long ;)
Et encore j'ai oublié de compter une petite boucle 🤔 donc on peut multiplier le nombre....

@Phil69970
 
Dernière édition:

Statistiques des forums

Discussions
312 895
Messages
2 093 382
Membres
105 713
dernier inscrit
Karimov