VBA Utilisation d'un tableau public dans une combobox

Bonsoir à tous, bonsoir le forum,

Je souhaiterais faire un test sur la taille de tableaux déclarés dans un module pour remplir ma liste déroulante, mais ce que j'ai fait ne marche pas!

Alors voilà ce que j'ai mis pour déclarer mes tableaux dans un module :

Public MTIPFSI As Variant

(Je vous passe le redimensionnement et le remplissage)

Et comment je souhaiterais les utiliser pour remplir ma liste déroulante :

Public Sub UserForm_Initialize()

If UBound(MTIPFSI, 1) > 10 Then
ComboBox1.AddItem "MTIPFSI"
End If

end sub

Si quelqu'un a une idée, ça me débloquerai bien parce que je suis à court d'idées là...

Merci d'avance!

ReuK

Salut le forum

Difficile de cerner ta demande

Exemple

Dim a(100, 5, 4) As Byte

UBound(a, 1) va te retourner 100

UBound(a, 2) va te retourner 5

UBound(a, 3) va te retourner 4

If UBound(MTIPFSI, 1) > 10 Then
ComboBox1.AddItem "MTIPFSI"
End If

Si la dimension de MTIPFSI est supérieur à 10 tu ajoutes un item dont le nom est "MTIPFSI" à ta Combobox

Il faut avoir plus d'information.....

Mytå

Salut Myta,

Je veux bien te donner plus d'infos mais je vois pas ce qui pourrait t'être utile, dis moi!

En gros, pour le dimensionnement, je teste ma base de données et mon tableau fait au minimum 1 lignes et 15 colonnes (fixe le nombre de colonnes), je lui rajoute une ligne à chaque fois que je trouve une machine différente de ce type.

Après pour le remplissage, peu d'intérêt...

Et le truc c'est que l'initialisation de ma combobox ne marche pas, il me dit "Tableau attendu"...

Alors qu'il me semble que j'ai tout fait correctement...

Voilà en espérant avoir déjà un peu mieux expliqué...

Merci d'avance!

Re le forum

Essai de rajouter le Me ou le nom du userform

Me.ComboBox1.AddItem "MTIPFSI"
Userform1.ComboBox1.AddItem "MTIPFSI"

Mytå

J'ai testé, mais ça change rien...

J'ai un tableau qui s'appelle TOP, ça serait pas un paramètre excel ou un truc déjà enregistré?

Enfin en même temps, il m'embête pas avant quand je le défini, redimensionne et rempli donc...

On peut faire des tests dans l'initialisation de l'userform?

Désolé, je vous prend du temps avec mes chipotages!

Encore merci!

Bonjour

Sans fichier exemple pas facile (pour moi) de comprendre ce que tu veux

A tout hasard

Si pas ça

Re!

Je met un fichier allégé en pièce jointe, en espérant que ça sera plus clair que mes explications!

J'ai viré tout ce qui n'était pas utile à résoudre ce problème selon moi, dont le remplissage des tableaux, dites moi s'il vous semble qu'il manque des choses essentielles!

je connaissais pas le ReDim Preserve, c'est pas mal ça!

Encore merci!

Re le forum

Top est un mot réservé d'excel

Ubound(Top,1)

Exemple pour un Userform, Top

Définit la position par rapport au bord supérieur de l'application.

Mytå

Bonjour

Bonjour Mytå

Au premier essai c'est ta variable tableau TOP qui ne plait pas (Top est un mot vba qui indique la position haute)

J'ai remplacé partout TOP par THETOP et plus de soucis

Re le forum

ReuK a écrit :

J'ai un tableau qui s'appelle TOP, ça serait pas un paramètre excel ou un truc déjà enregistré?

Tu avais déjà trouvé toi même la réponse.

Mytå

Hehe, bah j'y croyais pas trop vu qu'il disait rien dans le module!

Merci à vous 2 en tout cas, je vais aller corriger ça (je l'ai pas mal de fois dans mon programme le TOP à changer...)

Bonne continuation!

Amicalement,

ReuK


Bonjour à tous, je me permet de réouvrir le sujet parce qu'après quelques temps où j'ai été occupé à autre chose, j'ai repris l'erreur supposée de mon programme.

Et en changeant le nom du tableau de TOP à TTOP (mais pas le nom dans la liste déroulante), mon userform ne veut plus se lancer, j'ai une erreur d'incompatibilité de type, mais je ne sais pas pourquoi...

Vous auriez une idée?

Merci d'avance!

Amicalement,

ReuK

Rechercher des sujets similaires à "vba utilisation tableau public combobox"