Bonjour à tous,
Dans un autre sujet, je me posais le problème de l'instanciation d'un même Userform, afin de générer du contenu disons, "dynamique" hum. Le problème qui se pose désormais est une problème d'affectation. En effet, afin de remplir mes différentes instances d'un userform, je remplis deux listbox multicolonnes qui chacunes reçoivent un type de résultat (chacun répondant à un critère).
Il se trouve que j'ai voulu ajouter la fonctionnalité d'impression de résultats, indépendamment du nombre de résultats, d'où ma volonté de générer plusieurs pages de résultats, et donc passer par une instanciation de userform (le userform représentant finalement ma page à imprimer). Jusque-là, je voulais gérer la chose sur une seule page, et cela marchait parfaitement avec le code représentant mon userform. Les résultats s'annonçant parfois plus importants que la place possible sur un seul userform (inutile de me demander d'agrandir le userform et de faire plus de place, c'est impossible), il me faut donc me confronter au passage de la génération multipages, concept résolu, mais dont l'affectation me pose problème, pour un soucis que je n'arrive pas à identifier ...
Voici le code source me donnant une erreur (j'ai simplifié les noms de variables et isolé la ligne posant problème). Je rappelle que j'ai testé toutes les autres variables, et donnent des résultats, elles stockent bien normalement :
myForms représente le tableau indexant les différentes instances de userform, myCount représente l'indice publique de userform, refLbox représente ma listbox multicolonnes, lignRefBox le numéro de ligne dans la listbox multi-colonnes, nbLign et nbCol représentent deux variables utilisées dans mon programme de recherche et de correspondance, elles retournent des valeurs sans aucun problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part myForms(myCount).refLbox.Column(1, lignRefBox) = Worksheets("Liste").Cells(nbLign, nbCol).value
J'ai en outre essayé une autre méthode, qui ne plante cette fois-ci pas au déroulement de programme, mais qui n'arrive pas à s'afficher concrètement (la ligne est vide) :
En effet, je dispose de 4 colonnes, et j'ai tout autant testé de mettre du texte dans les 4 colonnes, le résultat est le même, à l'affichage ou à l'impression que dalle. Et pourtant, les lignes sont "débloquées" à l'intérieur de ma Listbox, je peux cliquer sur les lignes. Et je n'ai évidemment pas configuré la couleur de la police en blanc ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part myForms(myCount).refLbox.AddItem ("" & ";" & "" & ";" & "TEST" & ";" & "")
Si quelqu'un a des idées sur le pourquoi du comment, je suis bien preneur ... merci d'avance !
PS : je tenais aussi à préciser, que j'ai bien ajouter un item avant de vouloir me référer à une des colonnes, logique ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part myForms(myCount).refLbox.AddItem ("")
Partager