• Initiateur de la discussion Initiateur de la discussion zine pef
  • 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 !

zine pef

XLDnaute Occasionnel
salut ts et le forum

le code:::::::

Private Sub ComboBox1_Change()
i = 0
Me.ListBox1.Clear
For Each c In Range([A2], [A65000].End(xlUp))
If c.Offset(0, 2) = Me.ComboBox1 Or Me.ComboBox1 = "*" Then
Me.ListBox1.AddItem
Me.ListBox1.List(i, 0) = c.Value
Me.ListBox1.List(i, 1) = c.Offset(0, 1).Value
Me.ListBox1.List(i, 2) = c.Offset(0, 2).Value
Me.ListBox1.List(i, 3) = c.Offset(0, 3).Value
Me.ListBox1.List(i, 4) = c.Offset(0, 4).Value
Me.ListBox1.List(i, 5) = c.Offset(0, 5).Value
Me.ListBox1.List(i, 6) = c.Offset(0, 6).Value
Me.ListBox1.List(i, 7) = c.Offset(0, 7).Value
Me.ListBox1.List(i, 8) = c.Offset(0, 8).Value
Me.ListBox1.List(i, 9) = c.Offset(0, 9).Value
'***ici j'ai ajouté la ligne*******************************
Me.ListBox1.List(i, 10) = c.Offset(0, 10).Value 'une fenetre affiche d'erreur
'***************************************************
i = i + 1
End If
Next c
End Sub


une fenetre d'erreur d'exécution '380'
imposible de définir la propriété list.
valeur de propriété non valide
 
Re : aide dans ce code

Bonjour zine pef,

j'ai déjà vu des codes du même genre ai je n'ai jamais su l'appliquer
lorsque je vais voir les propriétés d'une combo, je n'ai jamais trouvé la propriété List
j'utilise la version 2003

je vais donc suivre ce fil avec attention et te souhaite de trouver réponse

bonne fin d'après-midi
 
Re : aide dans ce code

Bonjour,

Il est dit, dans l'aide de Visual Basic, que le nombre de colonnes d'une ListBox est limitée à 10 colonnes (0 à 9)
et c'est pour cette raison que votre programme plante.
ColumnCount, propriété
Spécifie le nombre de colonne à afficher dans une zone de liste ou une liste modifiable.

Syntaxe
object.ColumnCount [= Long]

Remarques
Si vous définissez la propriété ColumnCount pour une zone de liste sur 3 dans une feuille employés, une colonne peut lister les noms, une autre peut lister les prénoms et la troisième peut lister les numéros d'identification des employés.
La définition de la propriété ColumnCount sur 0 affiche zéro colonne et la définition sur -1 affiche toutes les colonnes disponibles. Pour une source de données indépendante, il y a une limite de 10*colonnes (0 à 9).
Vous pouvez utiliser la propriété ColumnWidths pour définir la largeur des colonnes affichées dans le contrôle.

Cependant voici un moyen de contourner le problème

1) créez un UserForm1 avec une ComboBox1 et une ListBox1
2) copiez dans sa fenêtre de code le code suivant
Code:
Private Sub ComboBox1_Change()
Dim S As Worksheet
Dim R As Range
Dim var
Set S = Sheets(MA_FEUILLE)
Set R = S.Range(S.Cells(2, 1), S.Cells(S.[a65536].End(xlUp).Row, _
    S.[iv2].End(xlToLeft).Column))
var = R
If var(1, 3) = Me.ComboBox1 Or Me.ComboBox1 = "*" Then
  With Me.ListBox1
    .ColumnCount = -1     'OU  .ColumnCount = UBound(var, 2)
    .List() = var
  End With
End If
End Sub

3) dans un module Standard copiez le code suivant
Code:
'### Constante de la feuille source à adapter ###
Public Const MA_FEUILLE As String = "test"
'################################################

Sub Launch_USF()
Sheets(MA_FEUILLE).Activate
UserForm1.ComboBox1.RowSource = Sheets(MA_FEUILLE).[c2].Address
UserForm1.Show (vbModeless)
End Sub
4) adaptez à votre usage la constante cernée par des ###
5) créez une feuille ("test" dans cet exemple) et inscrivez des données en A2 : U20
6) lancez le programme par l'intermédiaire de la Sub Launch_USF et sélectionnez le seul item de la ComboBox

Cordialement.

PMO
Patrick Morange
 
Dernière édition:
Re : aide dans ce code

Bonjour,

Un exemple pour faire un aperçu d'impression

Application.ActiveSheet.PrintPreview

ATTENTION :
Si vous mettez ce code dans un UserForm il faut au préalable mettre sa propriété ShowModal = False dans la fenêtre des propriétés.
Ou alors, par programme, mettre le code suivant dans la fenêtre de code du UserForm
Code:
Private Sub UserForm_Initialize()
Me.Show (vbModeless)
End Sub

Tout cela pour éviter de ne pas pouvoir reprendre la main lorsque l'aperçu d'impression est en action.

Cordialement.

PMO
Patrick Morange
 
- 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
10
Affichages
679
Réponses
3
Affichages
926
Réponses
4
Affichages
629
Réponses
4
Affichages
743
Réponses
10
Affichages
649
Retour