Incompétent sur les LISTBOX

  • Initiateur de la discussion Initiateur de la discussion Leskwal
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Leskwal

XLDnaute Occasionnel
Bonjour le forum.

Cela fait maintenant 2 jours que je cherche sur le forum.

J'ai de nombreuses fois trouvé ce que je cherchais mais incapable de l'appliquer.

J'ai donc créer un exemple pour illustrer ma demande.

Les questions sont les suivantes :

1 / La listBox ne fonctionne Pas ? La récupération des données ne fonctionne pas.

2 / Le formatage des colonnes est mauvais (Tout le texte n'apparait pas dans les colonnes...).

3 / Comment faire apparaître l'entête de la ListBox complété par celle de la feuille ?


II - ACTION SUR LA LISTBOX

1 / Comment, en cliquant dans la LISTBOX un etablissement, faire apparaitre les informations de cet établissement dans les textbox prévus.

2 / Modifier les textBox ne me poseront, je pense pas de probléme (et encore 🙄 ) mais

3 / Comment en créer un autre établissement qui va s'ajouter à la BDD.


Voilà. Je ne souhaite pas que vous fassiez le travail à ma place,😛 mais là j'avoue être vraiment à bout... 😱
Un GRAND MERCI D'AVANCE

Pascal
 

Pièces jointes

Re : Incompétent sur les LISTBOX

Bonjour.
En remplaçant:
Cells(Application.Rows.Count, 1).End(xlUp).Row par:
Cells(Application.Rows.Count, 4).End(xlUp).Row, ça marche déjà beaucoup mieux !
P.s. Là, il remplissait consciencieusement avec D10: D1 ce qu'il interprétait D1: D10
P.S.2 Mais vous savez, ce n'est pas que mon œil soit si exercé que ça: pour le trouver j'ai mis un espion sur toute l'expression Range complétée au bout par .Address, et j'ai eu la surprise de lire $D$1:$D$10 qui expliquait le résultat. Après, ça n'a plus été qu'un jeu d'enfant de trouver pourquoi ce n'était pas $D$10:$D$35. Je vous le dis pour vous faire gagner du temps à l'avenir dans les cas similaires. Les espions: la clé de tous les mystères du débogage !
P.S.3 Ceci dit, la procédure écrite comme ça donne le même résultat:
VB:
Private Sub UserForm_Initialize()
Me.CodeList.List = Feuil1.Range("D10:L" & Feuil1.Cells(Application.Rows.Count, 4).End(xlUp).Row).Value
End Sub
Cordialement.
 
Dernière édition:
Re : Incompétent sur les LISTBOX

Merci Dranreb

Effectivement ça marche beaucoup mieux 🙂, mais pourquoi "4" ?

Et pour les autres questions ... une idée ?

- Faire apparaitre l'entête dans la listbox ?

- et aussi quand je sélectionne un établissement dans la listbox, les textbox du dessus se remplissent 😱

Merci d'avance

Très cordialement

Pascal
 

Pièces jointes

Re : Incompétent sur les LISTBOX

mais pourquoi "4" ?
Parce que c'est la 4ième colonne (D) dont il faut prendre la ligne de la dernière cellule non vide
Faire apparaitre l'entête dans la listbox ?
À ma connaissance ce n'est pas possible. Avec une ListView ça l'est.
établissement dans la listbox, les textbox du dessus se remplissent
Écrivez une Private Sub CodeList_Click().
Son ListIndex, s'il est >-1 vous donnera la ligne sélectionnée. il ne vous restera qu'à les récupérer dans son List auux différentes colonnes.
À +
 
Re : Incompétent sur les LISTBOX

bonjour Leskwal,danreb et le forum

pour un debut tu mets ceci dans l'évenement click de la listbox
Code:
Private Sub CodeList_Click()
    TextBox_Entreprise.Text = Me.CodeList.Column(0, Me.CodeList.ListIndex)
    TextBox_SIRET.Text = Me.CodeList.Column(1, Me.CodeList.ListIndex)
    TextBox_Responsable.Text = Me.CodeList.Column(2, Me.CodeList.ListIndex)
    TextBox_DRH.Text = Me.CodeList.Column(3, Me.CodeList.ListIndex)
    TextBox_Adresse.Text = Me.CodeList.Column(4, Me.CodeList.ListIndex)
    TextBox_CP.Text = Me.CodeList.Column(5, Me.CodeList.ListIndex)
    TextBox1.Text = Me.CodeList.Column(6, Me.CodeList.ListIndex)
    TextBox_Telephone.Text = Me.CodeList.Column(7, Me.CodeList.ListIndex)
End Sub
évidement il faudra régler les numéros
pour l'entete je ne connais rien non plus hormis avec des labels
tu peux mettre ce code pour
Code:
Private Sub UserForm_Initialize()
Label8.Caption = Space(1) & "N°" & Space(12) & "Nom du Produit" & Space(85) & "PU Vente" & _
                Space(5) & "Unité" & Space(5) & "Qté_Stock" & Space(5) & "Seuil" & Space(5) & "Prix ST."

               
End Sub
il faut changé les noms et mettre les tiens
en furetant sur le net j'avais trouvé
Code:
Listbox remplissage columnheads 

Génère des titres de colonnes
1.	Private Sub UserForm_Initialize()
  nbcol = [clients].CurrentRegion.Columns.Count
  Me.ListBox1.ColumnCount = nbcol
  Me.ListBox1.List = Range("clients").Resize(, nbcol).Value
  i = 1
  x = 15
  For i = 1 To nbcol
    retour = Me.Controls.Add("Forms.Label.1", "Label" & i, True)
    Me("label" & i).Caption = Cells(1, i)
    Me("label" & i).Top = 40
    Me("label" & i).Left = x
    x = x + Columns(i).Width * 1.1
    temp = temp & Columns(i).Width * 1.1 & ";"
  Next
  Me.ListBox1.ColumnWidths = temp
End Sub
mais pas réussi a appliqué

Pascal
 
Dernière édition:
Re : Incompétent sur les LISTBOX

Bonjour le forum

Parfait, cela fonctionne 😉, sauf (bien sur 🙄) les en-têtes de colonnes récupérés sur la BDD.

Si quelqu'un avait une idée ...


Mais je tiens avant tout à vous remercier, car mon schmilblick a déjà bien avancé.

Cordialement

Pascal
 
Re : Incompétent sur les LISTBOX

bonjour tous 🙂🙂🙂🙂🙂
pour les entetes il faut utiliser RowSource mais plus chiant a coder apres.. autrement la ListView comme le dit l'ami Dranreb
un exemple avec ton code j'ai simplifier le nom des textbox plus simple!!


ps perso beaucoup d'exemples avec ListView mais je pourrais pas t'aider depuis une mise a jour windows impossible a ouvrir & toujours pas trouve de soluc...sorry🙁


il faut corriger cette ligne
nb = WorksheetFunction.CountA(Columns("d:d"))
par
nb = WorksheetFunction.CountA(Columns("d:d")) + 9
 

Pièces jointes

Dernière édition:
Re : Incompétent sur les LISTBOX

Bonjour le forum

Merci laetitia90 pour ta proposition, je vais m'y pencher.

En fait, ma demande vient du fait qu'en cherchant sur le forum une réponse à ma question, j'ai trouvé le fichier suivant en téléchargement sur XLD:

HTML:
http://www.excel-downloads.com/remository/Download/Autres/Bases-de-donnees/Multi-Mini-BD.html

Malgré pas mal de temps à comprendre le fonctionnement, (Heu je suis débutant en programmation 😛 ), et donc au final, à ne rien comprendre 😱, je me suis donc permis de vous solliciter pour avoir une solution "plus simple" que dans le beau fichier (travail) téléchargé.

Encore un GRAND Merci

Cordialement

Pascal
 
Re : Incompétent sur les LISTBOX

Bonjour à tous


Attention, les listview posent de nombreux problèmes en ce moment 🙁.

Sinon, une listbox (mais on est limité à 10 colonnes, il me semble) , avce RowSource et ColumnCount, en définissant sa BD avec un nom avec Add.Name, c'est pas trop compliqué à faire.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
1 K
E
  • Question Question
Microsoft 365 ListBox TextBox
Réponses
5
Affichages
2 K
K
  • Question Question
Réponses
13
Affichages
1 K
V
Réponses
0
Affichages
1 K
VBAProject
V
Retour