Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

listbox alimenter par combobox

papapaul

XLDnaute Impliqué
Bonjour le forum

C'est compliqué pour moi,
J'ai réussi à créer une listbox1 avec des codes qui se trouve dans plusieurs
feuilles, mais dans toujours une meme colonne (ici la colonne a)

Le but du jeu est que je veux transferer quelques uns de ces codes vers ma
listbox2 et ensuite, dans une nouvelle feuille, afficher toutes les lignes
de toutes les feuilles ou les codes sont présents.
Ca, c'est pas fini mais grace au forum j'ai trouver des pistes, merci à tous.
On verra plus tard.

Pour l'instant, (je rame depuis plusieurs jours) :
je voudrais faire en sorte que le range(a:a) qui alimente ma liste se
modifie en (c:c) ou (f:f) ... en fonction de l'entete de colonne que je
choisis dans ma combobox.
Je joins mon petit truc.

Soyez indulgent pour mes ecritures de codes, c'est du bricolage
de chez bricolo+, mais bon, faut bien commencer.

Si y a des costauds qui savent faire, merci si ca colle pas
trop avec mes bidouilles je pourrait tjs essayer d'adapter.

Bonne journée les forumeurs.
 

Pièces jointes

  • choixcolonnepourlistbox.zip
    28 KB · Affichages: 89

lupin

XLDnaute Junior
Re : listbox alimenter par combobox

En récupérant l'index de l'élément sélectionné dans la combobox il y a moyen alors de charger les données de la colonne souhaitée.

Dim Col As Integer
Col = ComboBox1.ListIndex + 1
(ajouter un car l'index du premier élément est 0)

Ensuite au lieu de charger le range par référence A1 tu reprends les numéros de cellules :

For Each plage In Range(Cells(2,Col),Cells(i,Col))

remplacerait ton instruction

For Each plage In .Range("A2:A" & i)

si j'ai bien compris ton code.

Lupin
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : listbox alimenter par combobox

Bonsoir Papapaul, Lupin, bonsopir le forum,

Oui Lupin c'est exactement comme tu l'expliques que j'ai procédé dans le fichier modifié de Papapaul... Plus deux ou trois galères liées au classement des nombres décimaux... Mais je pense que ça devrait convenir.
 

Pièces jointes

  • choixcolonnepourlistbox V2.zip
    42 KB · Affichages: 148
  • choixcolonnepourlistbox V2.zip
    42 KB · Affichages: 142
  • choixcolonnepourlistbox V2.zip
    42 KB · Affichages: 156

papapaul

XLDnaute Impliqué
Re : listbox alimenter par combobox

Merci beaucoup les amis !!

En effet, lupin a raison.
J'ai mis mes codes d'initialize de la listbox1 dans
Private sub combobox_click()

**********

End sub

Ca marche, meme pas besoin de Dim col as integer !!!

Suffit de modifier ma range comme a dit lupin
et d'indiquer col =combobox1.listindex + 1

Génial, super

Robert, je regarde ce que tu m'envoie apres manger.

Me reste maintenant à alléger mes codes si j'y arrive
et apres transfert vers listbox2, à bien mettre les lignes
des codes correspondants dans une nouvelle feuille avec le bouton prévu.

Pour l'instant il copie les données voulues mais que d'une seule feuille.
Je creuse ca et je vous tiens au courant si j'avance.
J'ai rajouter un textbox pour compter les lignes de listbox1 (pas trop dur ca)
Je vais aussi essayer d'en mettre un sous listbox2 qui s'actualisera
a chaque ajout de transfert pour voir si y a trop de lignes ou pas avant de
lancer la copie. J'ai du bouleau, vais surement pas finir ce soir.

En tout cas encore merci à vous et bonne soirée au forumeurs
 

papapaul

XLDnaute Impliqué
Re : listbox alimenter par combobox

Complétement estomaqué que je suis !!!

Non seulement Robert, tu as répondu à toutes mes questions et
avec ca, en moins de temps que je ne pouvais l'imaginer.

C'est incroyable, en plus c'est super bien expliqué.
Tu as meme largement modifié mes mauvaises orientations.
Ca me mache le travail (je m'en plaindrait pas)

Histoire de dire que quand meme j'ai fait quelquechose tout seul,
J'ai rajouté les petits trucs ci-dessous.


Public Sub ListBox2_dblClick(ByVal cancel As MSForms.ReturnBoolean)
'Supprime les items erronés de la listbox2
ListBox2.RemoveItem (ListBox2.ListIndex)
End Sub

et aussi celui la, mais je sais pas si c'est bien sa place dans usf initialize.

With ListBox1
TextBox1.Value = ListBox1.ListCount
End With

Pendant que j'y suis, ca doit être enfantin pour toi,
Je voudrais mettre aussi un espèce de compteur comme ci-dessus
Mais, en dessous de la listbox2 et qui se mettrai à jour
à chaque ajout de transfert pour savoir combien de lignes
ressortiraient de ma selection si je copie.

En tout cas c'est trop Top de Top tout ca,
dans combien d'années j'y arriverais ??


Merci encore dix mille fois et vive xld.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : listbox alimenter par combobox

Bonsoir Papapaul, Lupin, bonsoir le forum,

Content que ça te plaise. La version 3 avec les modifications que tu demandes...
 

Pièces jointes

  • choixcolonnepourlistbox V3.zip
    43.5 KB · Affichages: 115

papapaul

XLDnaute Impliqué
Re : listbox alimenter par combobox

Vraiment trop sympa Robert.

Mais j'ai eu petit probleme, j'ai copier la v2 sur ma clef et je le me suis
aussi envoyer par mail au bouleau.

Alors ce matin, aucune des 2 solutions n'a voulu fonctionner,
Le fichier s'ouvre bien sous excel mais quand j'active le macro, il me mets

Exception Violation d'acces : (0xc000005)..

J'ai plein d'autres fichiers avec macro faits maison qui
fonctionne parfaitement. Première fois que je vois ca.

Ca pourrait venir d'un code bizarre qui coince à cause de windows NT ?
(Private col as byte) peut etre.. j'en sais rien
C'est ca qu'on a dans ma boîte, je comprends pas pourquoi celui la
coincerait et pas les autres.

(Private col as byte) peut etre.. j'en sais rien

Ou alors j'ai eu un probleme de memoire vive ??

Je reessaye demain avec la v3, on verra

Si t'as une idée ?,

Pas trés grave, je referais tout si il faut mais en tout cas

Merci encore et bravo !!!
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : listbox alimenter par combobox

Bonsoir le fil, Bonsoir le forum,

Je ne sais pas quoi te dire Papapaul. C'est vrai que ce n'est pas tellement orthodoxe de mettre une macro dans un module UserForm. Dans la version 4, j'ai déplacé la macro comptage dans le module Module1. Du coup, tu n'as plus Private col As Integer dans le code de l'UserForm mais tu le retrouves en tout début du Module1 transformé en Public col As Integer. Cela permet à cette variable de garder sa valeur pour toutes les procédures du projet (Public). Sinon elle se vide et la macro comptage plante car col=0.

Mais franchement je ne pense pas que le problème vienne de là...
 

Pièces jointes

  • choixcolonnepourlistbox V4.zip
    48.2 KB · Affichages: 143
  • choixcolonnepourlistbox V4.zip
    48.2 KB · Affichages: 141
  • choixcolonnepourlistbox V4.zip
    48.2 KB · Affichages: 147

papapaul

XLDnaute Impliqué
Re : listbox alimenter par combobox

Déja une réponse !

Robert tu dors jamais ?

J'ai teste la v3 sur un de mes autres micros a la maison
Ca marchait pas non plus.
et j'ai eu une intuition, apparement mon souci viendrait d'un
probleme de niveau de securité des macros,
J'ai mis niveau faible et j'ai réussi.
Ca m'etonne beaucoup mais ils font des mis à jour le week end dans ma boîte, ils ont peut-etre changé un truc de ce coté là.
Je reteste les v2 3 et 4 demain, je te dirais si c'est ca ou autre chose
(si je trouve)

Bonsoir à tous les forumeurs et merci pour tout Robert

Amitiés
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…