bonjour a vous tous
comment puisse faire pour qu'une listbox prennent en entêtes les entêtes de "A1:K1 des feuilles qui sont ouvertes a l'aide d'une combobox, en sachant que toutes les feuilles sont identiques.
cordialement
Pascal
bonjour a vous tous
comment puisse faire pour qu'une listbox prennent en entêtes les entêtes de "A1:K1 des feuilles qui sont ouvertes a l'aide d'une combobox, en sachant que toutes les feuilles sont identiques.
cordialement
Pascal
Salut
Dans les propriété de ta listbox, tu mets columnheaders à true
Ensuite tu renseignes sa propriété SourceRow avec A2:K8 (bien sur il faudra adapter)
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
bonjour Qwazerty
merci de ta réponse qui me semble bien mais j'ai une erreur non répertorié a l'appui sur le bouton qui ouvre l'usf et la ligne de bug estje joint un fichier exemple"userform1.show"
cordialement
Pascal
SAlut
Je suis en retard, mais ton erreur vient d'ici
++
Code : Sélectionner tout - Visualiser dans une fenêtre à part Me.ListBox1.Clear
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
bonsoir Qwazerty
j'avais essayer justement avec =" " mais sans succès mais j'ai supprimé cette ligne et c'est parfait, mais la combobox qui se trouve dessous bug quand je veux ouvrir une feuile dans la listboxet débogage a la ligne duerreur 70 permission refuséemerci pour ce qui est de ta solution
Code : Sélectionner tout - Visualiser dans une fenêtre à part sub essai()du module1
cordialement
Pascal
et il y as quoi dans cette sub ?
-----------------------------------------------------------------------
Je n'ouvre pas les pièces jointes.
bonjour bbil
voici le contenu de la sub
cordialement
Code : Sélectionner tout - Visualiser dans une fenêtre à part UserForm1.ListBox1.List = ActiveSheet.Range("A2:L240").Value
Pascal
Salut
Essai plutôt quelque chose comme
Dans ce cas, si tu modifies le contenu des cellules le contenu de ta liste sera modifié. Si tu ne souhaites pas une telle liaison, il faudra boucler sur chaque cellule contenant les valeurs et les insérer une à une dans la listBox à l'aide de la méthode AddItem.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UserForm1.ListBox1.RowSource = ActiveSheet.Name & "!" & Range("A2:L240").Address
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
bonsoir Qwazerty
j'ai essayer le code modifié mais aucun changement, mais quand la page bug arrive en cliquant sur F8 cela m'envoie sur le code sur l'initialisation de l'usf
voila maintenant vous avez toutes les données et même le fichier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub UserForm_Initialize() Me.ListBox1.Clear Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets Me.ComboBox1.AddItem Sh.Name Next ListBox1.ColumnCount = 9 ListBox1.ColumnWidths = "20;1;230;1;1;40;40;1;20" ListBox1.ColumnHeads = True ListBox1.RowSource = Range("A1:f" & Cells(Rows.Count, "a").End(xlUp).Row).Address End Sub
cordialement
Pascal
Salut
Attention au code présent dans UserForm_Activate
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Private Sub UserForm_Initialize() Dim Sh As Worksheet 'Ce qui suit est utile uniquement si tu ne souhaites pas faire une laison avec des cellules 'Me.ListBox1.Clear 'For Each Sh In ThisWorkbook.Worksheets 'Me.ComboBox1.AddItem Sh.Name 'Next ListBox1.ColumnCount = 9 ListBox1.ColumnWidths = "20;1;230;1;1;40;40;1;20" 'Ici on fait la liaison avec les cellules qui nous interesse 'On commence le tableau à la ligne 2, la ligne 1 sera automatiquement prise en compte pour les entêtes ListBox1.RowSource = Range("A2:F" & Cells(Rows.Count, "A").End(xlUp).Row).Address End Sub
Dans cette configuration soit bien conscient que les modification faite sur la listebox sont répercutées dans ta feuille excel et vice versa
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
bonsoir Qwazerty
merci de ta réponse mais maintenant dans l'initialisation il y a un activex qui manque, je remets le fichier modifié et tu vas constater si j'opère mal la transcription ou s'il y a autre chose ce n'est qu'une ébauche pour autre chose
Merci pour tout
Pascal
Salut
Que souhaites tu faire avec ce code exactement?
Je ne comprend pas, tu initialises ta listBox, lors de la création de ton UserForm (Initialize), en lui plaçant 9 colonnes et en liant sont contenu aux valeurs contenu dans une des feuille de ton classeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Private Sub UserForm_Activate() Dim tableau As Variant ListBox1.ColumnCount = 6 ListBox1.ColumnHeads = True tableau = Sheets("feuil1").Range("a2:j" & Sheets("feuil1").Range("a65530").End(xlUp).Row) ListBox1.List = tableau UserForm1.Caption = "Sélection d'un article" End Sub
Et lorsque tu actives la UserForm (a chaque fois qu'elle prend le focus), tu redimensionnes de nouveau ta listBox pour qu'elle ne contienne que 6 colonnes... pourquoi l'initialiser à 9 colonnes?
Essai en enlevant tout le code contenu dans UserForm_Activate et dit nous
++
Qwaz
MagicQwaz := Harry Potter la baguette en moins
Le monde dans lequel on vit
Ma page perso DVP
Dernier et SeulTutoriel : VBA & Internet Explorer
Dernière contribution : Lien Tableau Structuré et UserForm
L'utilisation de l’éditeur de message
bonsoir Qwazerty
merci de ta réponse, en fait le code de l'activation de l'usf a été placé avant la venue de ton code en initializant et oublide l'enlever comme tu vient de le dire
désolé pour tous les désagrément que j'ai causé a vos réponses qui était parfaite si je n'avais pas mélangé activate et initialize
maintenant qu'activate a disparu plus de problème
un très grand Merci
cordialement
Pascal
Partager