XL 2016 alimentation Combobox et liaison textbox très lente

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

Bulr6

XLDnaute Nouveau
Bonjour à tous.
Je ne suis déjà pas très sur d'avoir bien expliqué mon problème. Veuilllez m'en excuser par avance.
Avant de poser une question j'essaie d'avancer le plus possible par moi même mais en grand débutant mais ce n'est pas forcément évident.

Mon problème :
J'ai dans un Userform un combobox (nom) que j'alimente avec toutes les occurrences présentes à partir de F2 (qui évolue) sur 4 feuilles différentes (Boulogne, calais, dunkerque, saint omer) et que je trie. Voici le code :
VB:
Sub UserForm_Initialize()

Set boul = Sheets("Boulogne")
Set cal = Sheets("Calais")
Set dunk = Sheets("Dunkerque")
Set so = Sheets("Saint-Omer")

For Each c In boul.Range("F2:F" & boul.[F65000].End(xlUp).Row)
  Me.Nom.AddItem c
Next c
For Each c In cal.Range("F2:F" & cal.[F65000].End(xlUp).Row)
  Me.Nom.AddItem c
Next c
For Each c In dunk.Range("F2:F" & dunk.[F65000].End(xlUp).Row)
  Me.Nom.AddItem c
Next c
For Each c In so.Range("F2:F" & so.[F65000].End(xlUp).Row)
  Me.Nom.AddItem c
Next c

 With Nom
        For i = 0 To .ListCount - 1
            For j = 0 To .ListCount - 1
                If .List(i) < .List(j) Then
                    StrTemp = .List(i)
                    .List(i) = .List(j)
                    .List(j) = StrTemp
                End If
            Next j
        Next i
    End With

End Sub

Jusque là cela va encore mais ensuite une fois sélectionnée une valeur dans la combobox (nom) je lui demande d'alimenter plusieurs textbox dont les valeurs correspondent à la valeur de la combobox.... Et c'est là que ça se complique c'est très trsè long alors que je n'en suis qu'à un critère :
Exemple avec un textbox "modele" présent en colonne K de chacune de ces feuilles
Code:
Sub Nom_Change()

 For j = 2 To 65536
        If Sheets("Boulogne").Cells(j, 6) = Nom Then
           modele = Sheets("Boulogne").Cells(j, 11).Value
        ElseIf Sheets("Calais").Cells(j, 6) = Nom Then
           modele = Sheets("Calais").Cells(j, 11).Value
        ElseIf Sheets("Dunkerque").Cells(j, 6) = Nom Then
           modele = Sheets("Dunkerque").Cells(j, 11).Value
        ElseIf Sheets("Saint-Omer").Cells(j, 6) = Nom Then
           modele = Sheets("Saint-Omer").Cells(j, 11).Value
          
        End If
Next j

End Sub

ET je compte comme cela alimenter 5-6 textbox (matériel/fabricant/adressemail/site/date) ... ces textbox me servent par la suite de champ pour remplir des champs pour des mails automatique.

Merci d'avance à ceux qui pourront m'aider à trouver une solution plus fluide/rapide
 
bonjour
perso je vais pas revenir sur la question pourquoi 4 pages les autres s'en chargent
je viens de remplacer le code du initialise par mon code du activate
et ma combo est rempli et triée
l'endroit ou se trouve chaque item est dipo dans la combo post événement ou par un autre événement d'un autre control
avec
Dim feuille,ligne
with nom
feuille=.list(.listindex,1)
ligne=val(.list(.listindex,2))
end with

c'est pas compliqué
 
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
169
Réponses
3
Affichages
665
Retour