Liste déroulante dans un formulaire
Bouler1
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous
Je débute en VBA.
J'ai créer un classeur Excel avec dans la colonne J une liste de données .
Je crée un formulaire avec une liste déroulante et cherche charger de ces données de la feuille 6 colonne J.
Voici le code créer:
Malheureusement, j'ai une erreur dans la ligne Call VBO.TriRapide(TabDonnée()). Cette erreur me dis que la variable n'est pas définie
Je n'arrive pas à corriger cette erreur.
Quelqu'un pourrait-il m'aider
Merci
Je débute en VBA.
J'ai créer un classeur Excel avec dans la colonne J une liste de données .
Je crée un formulaire avec une liste déroulante et cherche charger de ces données de la feuille 6 colonne J.
Voici le code créer:
'-------------------------------------------------------------------------------
Private Sub UserForm_Activate()
'-------------------------------------------------------------------------------
Dim y As Integer, i As Integer
Dim TabDonnnée() As Variant
' Coche la case option 1 :
OptionButton1.Value = True
' Charge les données pour la liste ComboBox1 :
y = 2: i = 0
While Sheets("Feuil6").Cells(y, 10) <> "" ' Boucle sur les lignes de la feuille 6.
ReDim Preserve TabDonnnée(i) ' Dimensionne le tableau.
TabDonnnée(i) = Sheets("Feuil6").Cells(y, 10) ' Charge les données en colonne J.
y = y + 1: i = i + 1 ' Passe à la ligne suivante.
Wend
Call VBO.TriRapide(TabDonnnée()) ' Trie les données par ordre croissant.
ComboBox1.Clear ' Efface toutes les anciennes données de la liste.
For i = 0 To UBound(TabDonnnée()) ' Boucle sur le tableau et...
ComboBox1.AddItem TabDonnnée(i) ' alimente la liste déroulante.
Next i
End Sub
Malheureusement, j'ai une erreur dans la ligne Call VBO.TriRapide(TabDonnée()). Cette erreur me dis que la variable n'est pas définie
Je n'arrive pas à corriger cette erreur.
Quelqu'un pourrait-il m'aider
Merci
A voir également:
- Liste déroulante dans un formulaire
- Liste déroulante excel - Guide
- Whatsapp formulaire opposition - Guide
- Liste déroulante en cascade - Guide
- Formulaire de réclamation facebook - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
1 réponse
Bonjour,
L'erreur est plutot cote du sub TriRapide, mais vous ne montrez pas le dit sub
par contre votre procedure peut etre optimisee
Par contre le sub TriRapide est a modifier, car:
TabDonnée(x) devient TabDonnée(x, 1)
Call VBO.TriRapide(TabDonnée())
L'erreur est plutot cote du sub TriRapide, mais vous ne montrez pas le dit sub
par contre votre procedure peut etre optimisee
Private Sub UserForm_Activate() '------------------------------------------------------------------------------- Dim y As Integer, i As Integer Dim TabDonnée ' Coche la case option 1 : OptionButton1.Value = True ' Charge les données pour la liste ComboBox1 : With Sheets("Feuil6") TabDonnée = .Range("J2:J" & .Range("J" & Rows.Count).End(xlUp).Row) ' Charge les données en colonne J. End With Call VBO.TriRapide(TabDonnnée) ' Trie les données par ordre croissant. ComboBox1.Clear ' Efface toutes les anciennes données de la liste. ComboBox1.List = TabDonnée ' alimente la liste déroulante. End Sub
Par contre le sub TriRapide est a modifier, car:
TabDonnée(x) devient TabDonnée(x, 1)