Find (sans quitter le filtrage en cours)

@BsALV :

Lorsque vous postez un code, veillez à utiliser les balises de codes (</>) disponibles dans le menu en plaçant votre code dans la fenêtre.

@liob2 :

Dans mon fichier de travail, les "Application.enableevents" me sont utiles;

Il y a d'autres moyens que d'utiliser cette instruction, notamment en déclarant une variable de type Boolean. (exemple ici --> https://forum.excel-pratique.com/s/goto/184735)

Crdlt

Re Dan :)

Haaaa ! déclarations de variables ...

Grâce à vous, je vais aller m'instruire (lol enfin j'espère)

lionel :)

@Dan, je l'ai oublié, pourtant je le savais et je l'ai utilisé déjà autant de fois ...

@liob2, concernant ces temp de 0.0 et de 0.4 sec, ce chronomètre de VBA a une précision de quelque dizaine de millisecondes, c'est pourquoi j'utilise MsgBox "pret en " & Format(Timer - t, "0.0\s"). Donc c'est peut-être mieux d'utiliser "0.00" la prochaine fois pour eviter ce "0.0" et certainement d'utiliser la même plage, c'etait comme-çà ?

ma derniere macro était pour A6:ZZ10000 !!! Si je modifie cela vers A4:K40 la première fois, ce temps n'est plus que 0.07 sec et la 2ième fois 0.05 sec (il ne faut plus faire le unprotect et le protect)

0.05 et 0.07 sec, cela est à peu près la précision de ce chronomètre, donc on ne peut que concluer que c'est rapide et si l'autre canon atteint le même temps, il faut tout mettre dans un boucle de 100 fois ... .

Mais dans le future, n'utilisez que les centaines de millisecondes de ce chronomètre.

Re BsAlv :)

"vers A4:K40" : Dans mon fichier de travail toutes les feuilles ont ces plages "A6:z100000"

Mais je ne comprends toujours pas pourquoi on ne garde pas ton 1er code qui semble toujours très bien fonctionner chez moi.

Et je ne vois pas de beug.

image

Dans mon fichier de travail toutes les feuilles ont ces plages "A6:z100000

Inutile de faire exécuter une macro dans des cellules vide. Pourquoi vous ne mettez pas ceci plutôt :

with Sheets("Appels")
arr = .Range("A6:K" & .Range("A" & Rows.Count).End(xlUp).Row)
....
End with

Merci Dan :)

Bonjour…

Comme toujours les propositions sont données dans un environnement précis donc elles se doivent d’être adaptées à l’environnement initialisé.

Voici une toute autre réflexion* avec des numéros sans doublons** et des Tableaux (structurés)*** : on sauvegarde la ligne du N° choisi, au-dessus du tableau de base, puis on Filtre.

*inspirée de la question souvent posée au début « Y'a pas moyen de lui faire "croire" que c'est toujours la 1ère recherche ?»

** dans ce cas il faudra donner la liste des lignes correspondants mais c’est une autre programmation dans une présenation différente.

***dans toute étude d’une base de données, cet outil permet simplifier grandement les macros et plus avec Power Query (si disponible).

Bonjour Ordonc :)

Je te remercie pour ce travail et ton fichier;

Je ne connais ni les Tableaux structurés, ni Power Query et je ne pourrai l'intégrer dans mon fichier de travail.

Toutefois, je le conserve pour l'étudier et progresser dans l'utilisation d'Excel.

lionel :)

Re,

même opinion, des plages aussi grandes ralentissent le programme. La première solution etait sur ine petite plage.

A mon avis, ma dernière solution + indiquer quelles colonnes doivent être inspectées est préférable.

Bonjour

Pour ne pas oublier...

Cordialement

Rechercher des sujets similaires à "find quitter filtrage cours"