Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Test de rapidité d'execution de recherche par différentes methodes

  • Initiateur de la discussion Initiateur de la discussion néné06
  • 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 !

néné06

XLDnaute Accro
Bonsoir le Forum

Je me suis amusé à effectuer un test de rapidité suivant quelques méthodes.
Recherche d'une valeur dans une liste ordonnée.
ce test est effectué 5 fois sauf pour la méthode dichrotomique qui est effectuée 1000 fois.
Il existe d'autres méthodes que je serai curieux de connaitre.

Merci !

A+
 
Dernière édition:
Re : Test de rapidité d'execution de recherche par différentes methodes

@ kiki

Bien sur !!
Et c'est bien ce que je voulais montrer
Le resultat de la recherche peut varier beaucoup selon la methode mais aussi selon ce que l'on cherche
Par ailleurs je crois que les methodes dichotromiques ne sont valables que pour chercher dans une colonne classée
 
Re : Test de rapidité d'execution de recherche par différentes methodes

bonjour tous
sujet interessant en fin de compte tout va dependre ou se trouve la valeur recherche debut de liste ou fin de liste cela change considerablement

pour moi find reste une solution acceptable
pour la vitesse "pure" dichrotomique avec tablo
attention avec dichrotomique simple & recherche par exemple 110 "plante"
 
Re : Test de rapidité d'execution de recherche par différentes methodes

Bonjour Pierrejean,Bonjour à tous

Il est vrai que la modif de Fo_rum comporte une petite erreur car la recherche n'est effectuée qu'une fois.
Sur mon dernier fichier 162,7 Ko , il est possible de tester differentes valeurs Alphanumériques.
Les modifications de ma piece jointe, avec d'autres méthodes et corrections des bugs sont accueillies avec une grande joie.
Afin de rendre à César ce qui appartient à César ,la signature des Commands Buttons pour les methodes serait la bienvenue.

A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

@ Laetitia90

Le fichier plantait car pierrejean utilisait une de mes premiere version .
J'ai donc ,par la suite édité d'autres versions qui ,"théoriquement", doivent tournées.
La recherche dichotomique à été totalement remaniée car fausse sur les premières versions.

A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

J'avais aussi pense a élaborer un programme dans le même
Style qui calculerait le vitesses d, exécution de transferts de donnees entre deux feuilles ou des plages différentes
Je pense m'atteler a la tache prochainement
A moins que quelqu'un veuille lancer le "chmilblic"

A+
 
Dernière édition:
Re : Test de rapidité d'execution de recherche par différentes methodes

Bonjour à tous

Merci à tous pour vos tests, même si je n'y comprend pas grand chose 😱.


Sinon Softmama et CbernardT m'avaient fourni un algorithme hyper-rapide pour transférer un tableau, qui permet de transférer 2 colonnes avec des Dossiers et des fichiers en 9 colonnes, 1 pour le dossier et 8 pour les fichiers:

Code:
Sub Img_Planche_Contact_OK()
'CBernardT et Softmama
Dim i As Long, j As Byte, n As Long, Z As Long, Tablo, TabRes, T1, T2
'T1 = Timer
With ActiveSheet 'Sheets("Feuil1")
Tablo = .Range("A2:B" & .Range("A65536").End(xlUp).Row)
Z = UBound(Tablo, 1)
End With
ReDim TabRes(1 To Z, 1 To 9)
n = 1
For i = 1 To Z
TabRes(i, 1) = Tablo(n, 1)
For j = 2 To 9
If Tablo(n, 1) <> TabRes(i, 1) Then Exit For
TabRes(i, j) = Tablo(n, 2) ' Fin de la ligne avant 9
n = n + 1
If n > Z Then Exit For ' fin du tableau
Next j
If n > Z Then Exit For ' fin du tableau
Next i
Sheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet
.Range("A1").Resize(UBound(TabRes, 1), UBound(TabRes, 2)) = TabRes
End With
'T2 = Timer: MsgBox (T2 - T1)
End Sub
 
Dernière édition:
Re : Test de rapidité d'execution de recherche par différentes methodes

Bonjour MJ13
Ce code peut nous servir dans un futur projet de test de vitesse de transfert de données entre des feuilles ou cellules différentes.

Merci !
A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

Re

Version a partir du fichier original de néné06 mais pour colonne A non triée ( de A100 a A65535 modifiable par la macro ecrit 'soyez patients')
Les macros dichotomiques n'y figurent pas
 

Pièces jointes

Dernière édition:
Re : Test de rapidité d'execution de recherche par différentes methodes

Bonjour tous,

@Pierre-Jean tu as oublié la version corrigée avec le .Value pour la transposition du tableau:
Remplacer
Code:
Application.Transpose(Sheets("Feuil1").Range("A:A"))
Par
Code:
Application.Transpose(Sheets("Feuil1").Range("A:A").Value)
Sinon Transpose retourne une valeur d'erreur au lieu d'un tableau à 1 dimension.

A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

Bonjour pierrejean

J'ai regardé ton exemple.
évidemment la dichotomie ne fonctionne que sur des listes triée.
il me semble que en utilisant des index ,qui désignent la position dans la liste de la valeur choisie , on arrive à utilisé cette méthode.
Pour le test "équitable" j'avais pensé à organiser le programme dans ce style.

-Choisir un tableau de x valeurs.
-Prendre les valeurs une après l'autre ( for next)
-Calcul du temps par une méthode de toutes les valeurs
-conserver le temps passé
-Exécuter une autre méthode puis suivantes
-conserver le temps passé
-Tableau récapitulatif

Dans ce cas de figure chaque méthode aura effectuée les recherches proches (1,2,3....),milieu et fin de tableau et exprimera sa puissance.

A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

J'ai constaté que la methode VlookUp étais trés rapide mais serait il possible d'avoir le numéro de la ligne trouvée ?

Merci!
A+
 
Re : Test de rapidité d'execution de recherche par différentes methodes

Re

@ Hasco

toutes mes excuses
Je viens de modifier
J'en profite pour inviter tout un chacun a faire de multiples essais en modifiant la valeur cherchée .En effet l'exemple d'origine n'est pas du tout representatif de la vitesse moyenne d'execution

@ néné

Je crois que tu fais allusion a la recherche par Autofilter (de softmama )
Pour ma part ,je n'ai pas trouvé de methode pour afficher la ligne de resultat (ce qui signifie nullement qu'elle n'existe pas )
 
- 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

E
Réponses
5
Affichages
2 K
Elmarabout
E
N
Réponses
17
Affichages
3 K
ninajams
N
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…