Accélération userform (boucle)

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

biker

XLDnaute Occasionnel
Bonjour;

J'essaye de créer un UserForm avec une recherche de pièces détachées. Mais après avoir écris le code (avec de l'aide) de l'Userform ; je me retrouve avec des recherches très lente.

J'aurai voulu savoir s'il était possible d'accélérer le mode de recherche.

Merci par avance de vos réponses
 

Pièces jointes

Dernière édition:
Re : Accélération userform (boucle)

Il se trouve que j'ai un classeur de macro complémentaire en chantier qui simplifierait beaucoup la programmation dans votre userform. (aux mises au point près que vous voudriez bien m'aider à faire par vos tests). Mais le dispositif qui vous intéresserait est fait pour des choix en ComboBox et non en TextBox.

Mais toute la programmation du userform tiendrait en à peine un peu plus que les instructions par lesquelles vous remplissez la ListBox. Ce remplissage ne serait programmé qu'en un seul endroit. Ce serait d'ailleurs une procédure évènement qui vous passerait en paramètre, dans une table, la liste des numéros de lignes du tableau source à mettre dans la ListBox. Et pour 1000 à 2000 lignes je pense que l'instauration de l'évènement par mon module de classe en fonction des ComboBox renseignés lorsque l'un d'eux change serait quasi instantanée. Il ne vous resterait qu'à vous arranger pour les puiser dans un tableau de variant représentant l'ensemble de la feuille plutôt qu'a y chercher au coup par coup chaque cellule de seulement ceux qu'il vous faut, et vous conserveriez cette rapidité de votre coté. Je précise que vous n'auriez pas à gérer les ComboBox. Vous demanderiez simplement dans l'Userform_Initialize l'ajout de chacun d'eux accompagné de la colonne du tableau qui y correspond, et la classe se chargerait de tout ensuite.
À +
 
Dernière édition:
Re : Accélération userform (boucle)

Bonjour.
Le voici dans son état actuel.
Une fois logé à sa résidence de service, en ajouter la référence "OutIdx" à votre projet VBA.
Il s'agirait d'utiliser la classe ComboboxLiés
Dans l'userform mettre en tête:
VB:
Dim WithEvents MesCombos As OutIdx.ComboBoxLiés
Private Sub Userform_Initialize()
Dim ZoneTableau as Range
Set ZoneTableau = etc..End(xlUp).Row).EntireRow
Set MesCombos = New OutIdx.ComboBoxLiés
MesCombos.Add Me.ComboBox1, ZoneTableau.Columns(1)  
MesCombos.Add Me.ComboBox2, ZoneTableau.Columns(2)
Etc.
Il ne resterait plus qu'à implanter les procédures évènements MesCombos_Change pour effacer la ListBox et MesCombos_Résultat pour la remplir
À +
 

Pièces jointes

Re : Accélération userform (boucle)

Bonjour.
Le voici dans son état actuel.
Une fois logé à sa résidence de service, en ajouter la référence "OutIdx" à votre projet VBA.
Il s'agirait d'utiliser la classe ComboboxLiés
Dans l'userform mettre en tête:
VB:
Dim WithEvents MesCombos As OutIdx.ComboBoxLiés
Private Sub Userform_Initialize()
Dim ZoneTableau as Range
Set ZoneTableau = etc..End(xlUp).Row).EntireRow
Set MesCombos = New OutIdx.ComboBoxLiés
MesCombos.Add Me.ComboBox1, ZoneTableau.Columns(1)  
MesCombos.Add Me.ComboBox2, ZoneTableau.Columns(2)
Etc.
Il ne resterait plus qu'à implanter les procédures évènements MesCombos_Change pour effacer la ListBox et MesCombos_Résultat pour la remplir
À +



Je te remercie.
Je regarde ce soir et je te tiens au courant .
 
Re : Accélération userform (boucle)

Bonjour biker et Dranreb 🙂 ,

Voici une version qui devrait être un peu plus rapide en attendant la macro de Dranreb (qui nous a mis l'eau à la bouche 😛 )

J'ai bien aimer t'as procedure; mais ca ne marche pas parfaitement. Exemple : Tape : 0 dans moteur de recherche Familles et il reste encore en premiere des famille qui commence par 1.

Mais merci quand mm ; si tu as une soluce pour resoudre se prob; je suis preneur
 
- 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

Réponses
1
Affichages
171
Retour