Problème liste déroulante VBA

Bonjour,

Je suis face à plusieurs impasses au niveau d'une liste déroulante créée en VBA.

Problème 1:

Contexte : Quand je clique sur un bouton, une liste déroulante va être créé, une variable string récupère des noms dans un tableau et les séparent à chaque fois d'une virgule, on se retrouve alors avec ceci : maVar = "bois,pierre,feu,air"

Jusque là, tout va bien. Ensuite, une cellule est sélectionnée et via validation, on lui attribue une liste déroulante qui contiendra les valeurs de maVar.

Je me retrouve donc avec ma liste qui affiche mes différentes valeurs, tout va bien. Malheureusement, quand je ferme mon classeur et que je le rouvre, une erreur s'affiche m'indiquant que la validation de donnée à planter, en gros il y a un problème avec la liste. J'ai cherché longuement à trouvé le problème, et il s'est avéré qu'en prenant X valeurs, tout fonctionnait, mais que quand j'en prenais X + 1, le problème réapparaissait. J'ai bien vérifié et les valeurs que je prends sont totalement conformes et ne posent pas de problème (il y a juste des lettres, chiffres et espaces). J'ai supprimé la feuille qui contenait les données à ajouter à la liste, je l'ai recréé mais j'ai toujours ce problème à partir d'un certain nombre de valeurs.

Problème 2:

Contexte : Après avoir sélectionné une valeur de ma liste déroulante, la fonction Worksheet_Change va créé une nouvelle liste déroulante (encore une) qui dépend de la valeur choisie dans la première. Cette nouvelle liste contient une série de valeurs numériques entière OU décimales, on aura donc mesVal = "3,3,14,13,2,3,5".

Cette fois, je suis vraiment dans une impasse : Quand je sépare mes valeurs avec ";", je me retrouve avec une liste déroulante qui va contenir tous mes nombres découpées (même ceux en valeur décimale) sur une seule ligne : 3;3;14;13;2;3;5

Si je décide de séparer mes valeurs avec ",", cette fois, toutes mes valeurs sont découpées mais bien sur chaque ligne : 3 puis 3 puis 14 puis 13...

Alors, dans l'incompréhension, je repasse avec un séparateur en point virgule ";", et cette fois, par pure magie, j'ai mes valeurs correctement séparées tout en gardant mes valeurs décimales intactes : 3 puis 3,14 puis 14 puis 13 puis 2,3...

Je ne comprends absolument pas pourquoi ça fait cela.

Merci de votre lecture et de votre aide

Bonjour,
Joins un petit fichier pour une aide adaptée du forum.
Cdlt.

Oui bien sûr, voici un fichier test qui possède le même problème que sur l'original. Je tiens à préciser qu'au niveau de la liste déroulante contenant les valeurs décimales, j'ai essayé d'utiliser un séparateur ; et , sans vraiment savoir lequel des deux était le bon. J'ai aussi modifié les valeurs décimales avant de les ajouter à ma liste en remplaçant le . par une , mais là encore j'ai toujours le même soucis...

14d-s.xlsm (31.25 Ko)
Rechercher des sujets similaires à "probleme liste deroulante vba"