XL 2016 VBA - Diminution temps d'exécution

Remteyss

XLDnaute Junior
Bonjour le forum,

Encore besoin de votre aide... Ayant réalisé un script qui fonctionne relativement bien, on me demande à présent de chercher à diminuer au mieux le temps d'exécution.
Pour cela, j'ai notamment forcé les configurations suivantes :

Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.DisplayStatusBar = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
newFSM.DisplayPageBreaks = False

Puis, je les rétabli à la fin de mon code. Sur les 1min50 que mettait environ mon code, il en met à présent 1min25, ce qui est déja pas mal vous me direz !
Mais la taille de ma feuille Excel risquant de s'agrandir, je voudrais optimiser au maximum ce temps d'exécution.
J'ai notamment lu que lire directement ma plage de données avant ma boucle for permettait de ne pas la lire x fois !
Pour cela, j'ai donc changé mes range utilisant la fonction Find de la sorte :

Set celluletrouvee = mafeuille.Find(....)
devient alors
celluletrouvee = mafeuille.Find(...).Value (celluletrouvee étant à présent défini comme un variant)

Cependant, lorsque je trouve la bonne cellule, je récupère la ligne et la colonne comme suit :
ligtrouv = celluletrouvee.Row
coltrouv = celluletrouvee.Column

Bien entendu, cela fonctionnait avec ma variable définie comme Range mais comment faire pour récupérer les valeurs de ligne et colonne d'un variant ?
Je suis encore débutant en VBA donc peut-être que la solution est simple mais que je ne la vois pas !

En vous remerciant,
Remteyss
 

Discussions similaires

Statistiques des forums

Discussions
312 224
Messages
2 086 409
Membres
103 201
dernier inscrit
centrale vet