XL 2016 Macro ou fonction matricielle

thomasdu43

XLDnaute Occasionnel
Bonjour,

J'ai créé une base de données dans laquelle je viens "piocher" les infos en fonction de certain critères. Je m'aperçois que ma formule faisant appel à plusieurs critères, le résultat est plutôt long à obtenir.
Question de novice, existe-il un code VBA qui permettrait de gagner en rapidité d'exécution ?

je vous remercie.
 

Dranreb

XLDnaute Barbatruc
Le dernier en date c'est celui là.
Attention le CBxLCtlA doit être installé.
Une autre idée qui m'est venue: mettre à jour un nom dans le classeur valant le numéro de la ligne trouvée. Comme ça vos formules =INDEX se simplifieraient à l'extrême. Plus besoin de recherche.
 

Pièces jointes

  • CBxLiéesKTM.xlsm
    34.4 KB · Affichages: 6

thomasdu43

XLDnaute Occasionnel
Le dernier en date c'est celui là.
Attention le CBxLCtlA doit être installé.
Une autre idée qui m'est venue: mettre à jour un nom dans le classeur valant le numéro de la ligne trouvée. Comme ça vos formules =INDEX se simplifieraient à l'extrême. Plus besoin de recherche.
1ere question : comment installe t on CBxCtlA ?
2nde question : en langage encore plus vulagrisé, ça donne quoi "mettre à jour un nom dans le classeur valant le numéro de la ligne trouvée"
Merci.
 

Dranreb

XLDnaute Barbatruc
Il demande la permission de s'installer quand on l'ouvre. Il est joint au poste #10
J'en ai vu plein des noms dans votre classeur ! Alors c'est plutôt l'instruction qui en met un que vous voulez savoir ? Par exemple :
VB:
Feuil2.Names.Add "NumLig", "=" & Ligne
Comme ça vous n'auriez plus que des formules genre :
Code:
=INDEX(BD_Générale!N:N;NumLig;1)
 

Dranreb

XLDnaute Barbatruc
Ce n'est pas une autre solution c'est la même mais qui plutôt que de stocker dans un tableau dynamique Public les valeurs de la ligne trouvée, ce qui vous obligerait à écrire du code pour verser ces valeurs dans les bonnes cellules, corrigerai simplement la valeur d'un nom pour pouvoir l'utiliser dans ces formules très simples. Je n'avais pas vue ces énormes formule matricielles avec INDEX/EQUIV sinon j'aurais compris plus vite ce que vous vouliez faire de la ligne trouvée.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Vraiment épouvantables vos formules matricielles !
L'UFm trouve instantanément la ligne, et comme je n'ai pas encore viré tout ça, elle mettent encore 5 secondes à s'évaluer !
1034533
 

Dranreb

XLDnaute Barbatruc
Tâchez d'avancer un peu de votre coté.
Je n'ai remplacé qu'une seule de ces horreurs (je parle des formules). Faites les autres vous même.
À remarquer qu'il les faut aussi aux anciennes cellules avec liste de validation, ces dernières étant à supprimer.

Édition: J'ai finalement continué. Après remplacement de toutes les formules matricielles par de simples renvois au numéro de ligne enregistré, le temps de réponse à un changement dans une ComboBox est de l'ordre d'une demi-seconde.
 

Pièces jointes

  • CBxLiéesThomasdu43.xlsm
    194.6 KB · Affichages: 2
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 015
Membres
101 870
dernier inscrit
Dethomas