• Initiateur de la discussion Initiateur de la discussion GO
  • 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 !

G

GO

Guest
Qui pourrais me dire pourquoi un tri sous excel est rapide par les commandes Excel, alors que si on fait un macro VBA ça devient tout de suite très long pour le même résultats ?
Y a t'il moyen de gagner en vitesse en ayant non pas recours à des boucles mais à des fonction excel normalement réservées aux feuilles de calcul

Merci
 
Bonjour,

J'ai rencontré un problème similaire, devant écrire une Macro de Recherche et trie sur un nombre impressionnant de données venant de la feuille de calcul.

Resultat : j'avais estimé un temps d'execution > 100 heures .

Bref, j'ai réduit le temps d'execution à de l'instantané en réduisant les communications Excel / VBA au minimum.

Pour cela, déclarer un tableau sous VB qui recoit les données
Puis faire tous les tries et recherches souhaités
Et enfin resortir les résutat sur ta feuille .

Peut-être ca peut t'aider ...

A+
 
Merci pour cette piste je vais voir ce que je peux faire,
si quelqu'un a un exemple déjà fait de création d'un tableau, de diverse manipulation de celui ci pour de réafichage, je suis très intéressé.
Pour l'instant (ça prend dans les 30 secondes) je fait des test cellules par cellules et c'est long je trouve. Et encore j'ai désactivé les affichage écran. Mais peut etre que l'utilisation de for each XXX in selection ... est "lent" d'office...

Merci

A+
 
Bonjour,
Pour accélérer la procédure, tu places cette ligne en début de procédure :
Application.ScreenUpdating = False
et en dernière ligne :
Application.ScreenUpdating = True
J'ai vérifié, sur un temps de 35 à 40 secondes, l'exécution est ramenée à 5 à 10 secondes.

a+

Romain
 
Pour le tableau sous VB :

Je l'initialise comme ca

Dim Tab1
Tab1 = Worksheets("Local1").Range("C3😀177").Value

(je trouve bizare qu'en déclaration on a pas besoin de dire que c'est un tableau , mais ca marche donc ...)

après tu manipules en précisant la case du tableau (une case = une cellule)

Ici c'est un tableau (ou une matrice selon le langage) de 175 lignes et 2 colonnes .
Donc tu utilises cette notation pour tester ou affecter , etc ...

Tab1(i,j)

i : numéro de ligne
j : numéro de colonne

Avec les boucles For , tu peux donc balayer le tableau,...


--
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
816
Réponses
0
Affichages
1 K
Réponses
15
Affichages
2 K
Retour