Utilisation de tableaux dans UserForm ac +ieurs ComboBox

Bonjour à tous,

je fais un outil pour le taff et pas moyen de faire entendre raison à mon code...

Alors j'explique le problème de base, j'ai dans mes 1eres feuilles, des données que je stocke dans des tableaux pour une manipulation ultérieure et je voudrais faire des listes déroulantes en cascades (filtrées en fonction des 1ers choix) sur mes UserForm

Je pense que ce que j'ai écris n'est pas trop incohérent même si c'est probablement pas le plus optimisé (si y a des astuces, ça m'intéresse aussi!), mais impossible de faire reconnaître les tableaux au code dans l'UserForm, il me les considères tous comme vides, alors que j'ai vérifié ils sont accessibles depuis un module normal...

Je comprend pas trop pourquoi mais ça me bloque! Merci d'avance!

Bonsoir

Un peut juste comme explication

dans quel Userform le problème ?

Que faut-il faire pour avoir le défaut ?

Moi ce que j'ai vu

Définis tes tableaux en Public et supprimes les dans la procédure "LoadTables"

Et avant d'appeler Userform "SORTlist" appelles la procédure "LoadTables"

Début de ton code dans le module1

Public SORT()
Public ABC()
Public ABCs()

Sub LoadSORT()
  LoadTables
  SORTlist.Show
End Sub

Sub LoadABC()
  ABClist.Show
End Sub

Sub LoadTables()
'Dim SORT()
Dim Rsort As Long
Dim Csort As Integer
Rsort = Sheets("SORT").Cells(1, 1).End(xlDown).Row

Salut Banzaï, merci de la réponse

J'ai essayé et j'ai toujours le même problème quand je suis dans l'UserForm, sur la même ligne :

Sub InitializeSingletonFuel()
LoadTables
Dim NotInList As Boolean
Dim i As Double
  Me.FuelList.Clear

  For k = 2 To UBound(SORT, 1)
    If SORT(k, 3) <> "" Then
      'on cherche s'il existe dans la combobox
        If (SORT(k, 1) = BrandList.Value And SORT(k, 2) = TypeList.Value) Then 'test sur mes 2 combobox précédentes
              If FuelList.ListCount > 0 Then  'Deja des items dans la liste
                  NotInList = True
                    For i = 0 To FuelList.ListCount - 1
                        If Val(FuelList.List(i)) = SORT(k, 3) Then
                            NotInList = False
                        End If
                    Next
              Else 'pas encore d'item dans la liste
                  NotInList = True
              End If

              If NotInList = True Then FuelList.AddItem SORT(k, 3)
        Else
        End If
    End If
  Next k
End Sub

Il me dit que l'indice n'appartient pas à la selection pour Ubound... Alors que j'ai rajouté en début de macro la chargement des tableaux... :-/

Cette manip me sert à éviter d'avoir des doublons dans la liste déroulante (niveau 3, FuelList), qui est remplie en fonction des choix des 2ères listes déroulantes!

En espérant que ça soit plus clair!

Bonjour

As tu déclaré tes tableaux en Public ?

Il faut appeler cette procédure(LoadTables) avant l'ouverture de l'Userform "SortList"

Voir mon précédent post

Je l'avais fait, mais ça ne marchait pas, je venais de fermer et j'ai vu ton post, j'ai réouvert et réessayer et ça marche!

Merci Banzaï!

Rechercher des sujets similaires à "utilisation tableaux userform ieurs combobox"