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

Microsoft 365 Besoin d'explication sur ce code filtrant

dubarre

XLDnaute Occasionnel
Bonjour à tous je viens vers vous car j'aurais une question posée j'ai trouvais ce code sur Internet mais il y a certaines lignes je n'arrive pas à comprendre leur fonctionne pouvez-vous m'aider s'il vous plaît. Les lignes que je ne comprends pas seront marqués en rouge.

Me.ComboBox1.Text = Me.ComboBox1.List(0)
Me.ComboBox2.Text = Me.ComboBox2.List(0)
Me.ComboBox3.Text = Me.ComboBox3.List(0)


VB:
Private Sub UserForm_Initialize()
With UserForm2
    .StartUpPosition = 0
    .Top = 190
    .Left = 535
End With

'USERFORM2 PREREMPLISSAGE DES COMBOBOXES
dligne = Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row

'Combobox VILLES
Me.ComboBox1.Clear
Me.ComboBox1.AddItem ""
    For Each cell In Worksheets("Feuil2").Range("D2:D" & dligne)
    Me.ComboBox1 = cell
        'remplissage sans doublon
        If Me.ComboBox1.ListIndex = -1 Then
        Me.ComboBox1.AddItem cell
        End If
    Next cell
Me.ComboBox1.Text = Me.ComboBox1.List(0)

'Combobox METIERS
    Me.ComboBox2.Clear
    Me.ComboBox2.AddItem ""
    For Each cell In Worksheets("Feuil2").Range("B2:B" & dligne)
    Me.ComboBox2 = cell
        'remplissage sans doublon
        If Me.ComboBox2.ListIndex = -1 Then
        Me.ComboBox2.AddItem cell
        End If
    Next cell
Me.ComboBox2.Text = Me.ComboBox2.List(0)

'Combobox SPORTS
Me.ComboBox3.Clear
Me.ComboBox3.AddItem ""
    For Each cell In Worksheets("Feuil2").Range("C2:C" & dligne)
    Me.ComboBox3 = cell
        'remplissage sans doublon
        If Me.ComboBox3.ListIndex = -1 Then
        Me.ComboBox3.AddItem cell
        End If
    Next cell
Me.ComboBox3.Text = Me.ComboBox3.List(0)


End Sub
 
Solution
re bonjour dubarre
les deux
il est de toute façon et en toute circonstance, plus rapide d'utiliser les fonctions internes que ce soit pour des controls ActivX ou des cellules

et a savoir puisque c'est le fond de la question
.text est plus lourd que .value c'est déjà la première erreur

et c'est évident que .text force vba a travailler strictement en string qui est plus lourd
alors que .value c'est .value c'est tout (tel quel)

patricktoulon

XLDnaute Barbatruc
re
bonjour
traduction
Me.ComboBox1.Text = le premier item de la liste (soit l'item(0))
Me.ComboBox2.Text = le premier item de la liste (soit l'item(0))
Me.ComboBox3.Text = le premier item de la liste (soit l'item(0))


on ferait la même chose en faisant
Me.ComboBox1.listindex=0
Me.ComboBox2.listindex=0
Me.ComboBox3.listindex=0
 

patricktoulon

XLDnaute Barbatruc
re bonjour dubarre
les deux
il est de toute façon et en toute circonstance, plus rapide d'utiliser les fonctions internes que ce soit pour des controls ActivX ou des cellules

et a savoir puisque c'est le fond de la question
.text est plus lourd que .value c'est déjà la première erreur

et c'est évident que .text force vba a travailler strictement en string qui est plus lourd
alors que .value c'est .value c'est tout (tel quel)
 

Discussions similaires

Réponses
1
Affichages
168
Réponses
4
Affichages
522
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…