Autres je ne suis pas curieux mais j'aimerais savoir....

G.David

XLDnaute Impliqué
Non en fait je suis curieux, je viens de rouvrir un bouquin de VBA (il s'est d'ailleurs si bien ouvert qu'il est en cours de restauration :eek: livre broché de 1032 pages ...gnn gnnn)
bon il était avec un cd d'exemples avec codes accessible pour "learner le VBA"
c'est de John Walkenbach 'bon et c'est pour vba 2002...(ça date)
VB:
Private Sub ListBox1_Click()
    If ListBox1.ListIndex <> -1 Then
        Rows(ListBox1.ListIndex + 2).Select
    End If
End Sub

Private Sub OKButton_Click()
    Unload Me
End Sub

Private Sub UserForm_Click()

End Sub
le_classeur.jpg

on ajoute juste un module avec userform1.show
alors ce que je ne comprends pas c'est comment le listbox se retrouve lié a la plage, et comment il est alimenté, j'ai tenté de rajoute une ligne elle n'est pas prise en compte, par contre si je change le texte oui, ,et pour le coup ,
J'Y PIGE QUE DALLE
 
Dernière édition:
Solution
Bonjour le fil, G-David, Chris24

C'est écrit dans le livre non?
(pages 472-473 dans la version Excel 2007)
1) Il faut renseigner la propriété RowSource
donc: A2:C12 et mettre ColumnHead sur True
2) Mettre ColumnCount sur 3
3) Et pour ColumnWidths: 100;40;30

PS: Je viens de faire le test. ;)

NB: Il manque quelque dans le message#1, non ?
Tout au début...:rolleyes:

Chris24

XLDnaute Impliqué
Bonjour G.David

Pour piger il faut chercher et regarder le code du formulaire ;)

L'initialisation de la liste se trouve normalement dans la procédure UserFormInitialize

Si tu ajoutes une ligne et qu'elle nest pas prise en compte c'est certainement que la listBox est alimentée par une plage fixe.
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, G-David, Chris24

C'est écrit dans le livre non?
(pages 472-473 dans la version Excel 2007)
1) Il faut renseigner la propriété RowSource
donc: A2:C12 et mettre ColumnHead sur True
2) Mettre ColumnCount sur 3
3) Et pour ColumnWidths: 100;40;30

PS: Je viens de faire le test. ;)

NB: Il manque quelque dans le message#1, non ?
Tout au début...:rolleyes:
 
Dernière édition:

G.David

XLDnaute Impliqué
attendez le bouquin pour l'instant il est sous presse, je suis en pleinr restauration ( la colle pour les broché c'est pas l'idéal) donc je me replonge dans le bouquin dès qu'il est accessible
Stapple1600 et Chris24 je dois avouer que les propriétés ne se sont pas rappelées à moi (je vais regarder ça ...le VBA c'est pas comme le vélo :mad:
 

patricktoulon

XLDnaute Barbatruc
Bingo , le fait est aussi que c'est un truc cdonc je ne me servait pas pour avoir un accées modulable à alimentaion des listboxs...(ça m'apprendra)
bonjour

rowsource a ces avantage et contraintes
l'avantage le plus flagrant (pas de code pour remplir la liste)
le désavantage le plus flagrant c'est en effet la modularité (mise ajour,suppression,etc...)impossible avec rowsource


;)
 

G.David

XLDnaute Impliqué
bonjour

rowsource a ces avantage et contraintes
l'avantage le plus flagrant (pas de code pour remplir la liste)
le désavantage le plus flagrant c'est en effet la modularité (mise ajour,suppression,etc...)impossible avec rowsource


;)
Salut, hé si c'est possible de rendre la propriété "rowsource" dynamique
Ti m'avait à l'époque de Vériti parlait d'utiliser les plages nomées, qui elles peuvent etre dynamique avec la fonction indirect c'est bateau mais bon ça marche
PS je ne trouve pas de bouton marquer comme solution
 

Pièces jointes

  • Rowsours_ecerie.xls
    23 KB · Affichages: 5

G.David

XLDnaute Impliqué
oh mais juste pour le fun, de toutes manières, c'est pas un truc que j'utilise, mais juste pur tester le possible ( et c'est vrai que c'est plus long...et je ne connait opas tous les outils d'excel...sinon j'aurais plus rien à apprendre...ça serait c.. heu laxatif diroions nous;)