Remplissage Listbox multicolonne avec tableau dynamique

Bonjour,

Je me heurte à un problème.

Je souhaite remplir une listbox multicolonne avec des données enregistrées dans un tableau dynamique.

A l'aide de msgbox je vois bien les données du tableau s'afficher dans la listbox, mais lorsque i s'incrémente, la ligne dans la liste s'efface et une autre ligne s'écrit en dessous, et ainsi de suite.

Auriez vous une explication ?

Cordialement

Je joins le fichier.

85exemple.xlsm (39.94 Ko)

Bonsoir,

La redimension du tableau le vide.

Ci-joint une version à tester.

Juste un déplacement de lignes de codes (et déclaration des variables )

Bonne soirée

Bouben

165exemple-v0-1.xlsm (22.07 Ko)

Merci beaucoup !

Je pensais qu'un tableau avec des lignes ou colonnes variables devait systématiquement être redimensionnés

Je dois réfléchir sur la question pour y trouver une logique.

Je devais surtout relire correctement... il y a un redimensionnement. mes yeux fatiguent.

tu as rajouté ces lignes :

 If derligne > iMax Then
iMax = derligne
End If

Peux tu m'expliquer pourquoi ?

Encore merci

Bonjour,

Petite explication sur les lignes ajoutées.

Dans ta version, tu bouclais sur les colonnes et tu récupérais pour chaque colonne la ligne max, permettant de redimensionner le tableau.

Dans la nouvelle version, redimensionne le tableau au début, on ne modifie plus sa taille.

J'ai conservé le même principe pour rechercher la ligne max ;

  • on boucle sur toutes les colonnes
  • pour chaque colonne, on récupère la dernière ligne
  • on conserve la dernière ligne max

Exemple :

Colonne A : dernière ligne 10

=> ligne max : 10

Colonne B : dernière ligne 15

=> ligne max : 15

Colonne C : dernière ligne 3

=> ligne max : 15 (pas de changement)

Le tableau aura donc 15 lignes

Bonne journée

Bouuben

Ok, mais j'ai remarqué que ça ne fonctionnait pas si une colonne était plus remplie qu'une autre.

Mes fonctions cérébrales retrouvées après une bonne nuit de sommeil, j'ai remanié le code ci joint.

Par contre lorsque je mets une condition sur les événements, des lignes vides sont enregistrées dans la listbox

Je sais que le tableau boucle jusqu'à la dernière ligne et que c'est ça le problème. J'ai essayé avec Listbox1.RemoveItem (ListBox1.ListIndex) mais je m'en sors pas.

Cordialement

55exemple-v0-2.xlsm (34.04 Ko)

Bonsoir,

Bon.. Après une journée entière de test et de recherches, je poste un ultime appel a l'aide

Au début je pensais supprimer les lignes vides de ma listbox, après réflexion je me suis penché sur l'enregistrement du tableau.

Pourquoi enregistrer des données vides ?

Alors j'ai tenté de mettre des conditions sur l'enregistrement.

Et me revoilà au même point.

Il y a un truc qui m'échappe. Je ne peux pas redimensionner mon tableau dans ma boucle, et je ne peux pas redimensionner ma derligne de ma boucle... le serpent qui se mord la queue.

Voilà ou j'en suis actuellement.

Cordialement

Matt

41exemple-v0-2.xlsm (33.41 Ko)

Bonjour,

Je me sens stupide, bien sur que je pouvais redimensionner mon tableau !

C'était même ça le problème

J'avais le doigt dessus mais je restais borné à vouloir synthétiser au maximum mon code.

Je suis quand même déçu du résultat. Ca fait bidouille et ça ne me plait pas...

Est ce que qu'une âme charitable pourrais vérifier si il n'existe pas de solution plus "conventionnelle".

D'avance merci.

Cordialement

PS: Merci au personnes qui sont passés lire mon post, de m'avoir laisser dans mon jus et de ne pas avoir donner la réponse (si tout fois il y en a) .

Matt

219exemple-v0-2.xlsm (33.34 Ko)
Rechercher des sujets similaires à "remplissage listbox multicolonne tableau dynamique"