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

combobox dans userform : Optimisation d'un code

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 !

dreamalain

XLDnaute Junior
Bonsoir

J'ai plusieurs actions à coder sur une quarantaine de combobox
Je ne sais les programmer que les uns après les autres et ca représente beaucoup de lignes

Pouvez m'aider à les optimiser :

Dans l'initialisation de l'userform :

VB:
'Remplissage de la liste
           With sheets("TEST")
                    Me.Combobox.List = .Range("A2:A" & .Range("A65536").End(xlUp).Row).Value

             end with

'Récupération de la valeur  de la ligne existante sur la feuille en cour :
           
  Combobox1.Value = Cells(8, 2)

Remplissage  par défaut d'un item  si  la cellule en colonne B est renseignée  :            

            If Not IsEmpty(Cells(8, 2).Value) Then Combobox1.ListIndex = 5

Dans le bouton de commande pour enregistrer la ligne des données


VB:
Private Sub CmdEnregistrer_Click()

Application.ScreenUpdating = False
With Sheets("TEST")


    lg = 0
     Select Case Combobox1.ListIndex
     Case -1
        If Combobox1 <> "" Then lg = .Range("A65536").End(xlUp).Row + 1
     Case Else
        lg = Combobox1.ListIndex + 2
     End Select
  If lg > 0 Then
           .Cells(lg, 1) = Me.Combobox1
           .Cells(lg, 2) = Me.Combobox2
           .Cells(lg, 3) = Me.TextBox1
           .Cells(lg, 6) = Me.TextBox2
           .Cells(lg, 9) = Me.Combox3
           .Cells(lg, 10) = Me.ComboCoV1
   End If
   End With
'Copie de la ligne sur la feuille
   With activesheet

      .Cells(8, 2) = Combobox1.Value

    End With

Application.ScreenUpdating = True
Unload Me



      ' Classement de la liste par ordre alphabétique : 

With Sheets("TEST").Range(" A2:T10000").Sort Key1:=Workbooks("Liste.xlsx").Sheets("TEST").Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom




Merci pour vos idées
 
Re : combobox dans userform : Optimisation d'un code

Bonjour,

oui, et le problème se situe où ? regarde peut être du coté des modules de classe... sinon essaye d'être un peu plus explicite, peut être en nous joingnant un tout petit fichier, pas plus de 3, 4 combo représentant bien le problème posé et le résultat attendu....

bonne journée
@+
 
- 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
10
Affichages
281
Réponses
9
Affichages
201
Réponses
3
Affichages
194
Réponses
4
Affichages
177
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
8
Affichages
233
Réponses
3
Affichages
665
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…