Erreur de propriété List

Joss

XLDnaute Nouveau
Bonjour, je suis à monter un fichier pour mon travail et j'ai un problème. Je navigue souvent sur le site à la recherche de codes et formules et c'est ainsi que j'ai pu monter ce fichier. Je ne suis vraiment pas experte en VBA mais avec les astuces qu'on retrouve sur votre site, j'ai réussi à monter un fichier. Mon problème est quand j'entre la première ligne par un Useform1 je n'ai pas de problème tout fonctionne. Mais quand je veux entrer une deuxième ligne ou modifier la première, il m'indique une erreur 381 de propriété List. Index de table de propriété non valide. Pourriez-vous m'aider s.v.p. Un gros merci à l'avance.

Je ne peux pas joindre le fichier, il me dit qu'il est trop gros. Mais le code de mon Useform1 est :

Private Sub UserForm_Initialize()
Dim Plage As Range

With Sheets("Secteur 1")
Set Pinpon = .Range("A6")
Set Plage = .Range("A6:A" & .Range("A65536").End(xlUp).Row)
Set Tableau = Plage.Resize(, 44)
End With

ComboBox1.List = Plage.Value
End Sub
 

cbea

XLDnaute Impliqué
Re : Erreur de propriété List

Bonjour,

Voici ce que je te propose :

Code:
Private Sub UserForm_Initialize()
Dim Plage As Range

With Sheets("Secteur 1")
    Set Pinpon = .Range("A6")
    Set Plage = .Range("A6:A" & .Range("A" & Cells.Rows.Count).End(xlUp).Row)
    Set Tableau = Plage.Resize(, 44)
End With

[COLOR="Red"]If Plage.Count > 1 Then ComboBox1.List = Plage.Value
If Plage.Count = 1 Then ComboBox1.AddItem Plage.Value[/COLOR]
End Sub
 

kjin

XLDnaute Barbatruc
Re : Erreur de propriété List

Bonjour le fil,
Au-delà de la réponse de cbea, tu peux peut-être remplacer ce genre de code
....
If CheckBox1 = True Then .Cells(Lgn, 3) = "X" Else .Cells(Lgn, 3) = ""
If CheckBox2 = True Then .Cells(Lgn, 4) = "X" Else .Cells(Lgn, 4) = ""
If CheckBox3 = True Then .Cells(Lgn, 5) = "X" Else .Cells(Lgn, 5) = ""
If CheckBox4 = True Then .Cells(Lgn, 6) = "X" Else .Cells(Lgn, 6) = ""
If CheckBox5 = True Then .Cells(Lgn, 7) = "X" Else .Cells(Lgn, 7) = ""
If CheckBox6 = True Then .Cells(Lgn, 8) = "X" Else .Cells(Lgn, 8) = ""
If CheckBox7 = True Then .Cells(Lgn, 9) = "X" Else .Cells(Lgn, 9) = ""
If CheckBox8 = True Then .Cells(Lgn, 10) = "X" Else .Cells(Lgn, 10) = ""
If CheckBox9 = True Then .Cells(Lgn, 11) = "X" Else .Cells(Lgn, 11) = ""
If CheckBox10 = True Then .Cells(Lgn, 12) = "X" Else .Cells(Lgn, 12) = ""
If CheckBox11 = True Then .Cells(Lgn, 13) = "X" Else .Cells(Lgn, 13) = ""
If CheckBox12 = True Then .Cells(Lgn, 14) = "X" Else .Cells(Lgn, 14) = ""
If CheckBox13 = True Then .Cells(Lgn, 15) = "X" Else .Cells(Lgn, 15) = ""
If CheckBox14 = True Then .Cells(Lgn, 16) = "X" Else .Cells(Lgn, 16) = ""
If CheckBox15 = True Then .Cells(Lgn, 17) = "X" Else .Cells(Lgn, 17) = ""
If CheckBox16 = True Then .Cells(Lgn, 18) = "X" Else .Cells(Lgn, 18) = ""
If CheckBox17 = True Then .Cells(Lgn, 19) = "X" Else .Cells(Lgn, 19) = ""
If CheckBox18 = True Then .Cells(Lgn, 20) = "X" Else .Cells(Lgn, 20) = ""
If CheckBox19 = True Then .Cells(Lgn, 21) = "X" Else .Cells(Lgn, 21) = ""
If CheckBox20 = True Then .Cells(Lgn, 22) = "X" Else .Cells(Lgn, 22) = ""
If CheckBox21 = True Then .Cells(Lgn, 23) = "X" Else .Cells(Lgn, 23) = ""
If CheckBox22 = True Then .Cells(Lgn, 24) = "X" Else .Cells(Lgn, 24) = ""
If CheckBox23 = True Then .Cells(Lgn, 25) = "X" Else .Cells(Lgn, 25) = ""
If CheckBox24 = True Then .Cells(Lgn, 26) = "X" Else .Cells(Lgn, 26) = ""
If CheckBox25 = True Then .Cells(Lgn, 27) = "X" Else .Cells(Lgn, 27) = ""
If CheckBox26 = True Then .Cells(Lgn, 28) = "X" Else .Cells(Lgn, 28) = ""
If CheckBox27 = True Then .Cells(Lgn, 29) = "X" Else .Cells(Lgn, 29) = ""
If CheckBox28 = True Then .Cells(Lgn, 30) = "X" Else .Cells(Lgn, 30) = ""
If CheckBox29 = True Then .Cells(Lgn, 31) = "X" Else .Cells(Lgn, 31) = ""
If CheckBox30 = True Then .Cells(Lgn, 32) = "X" Else .Cells(Lgn, 32) = ""
If CheckBox31 = True Then .Cells(Lgn, 33) = "X" Else .Cells(Lgn, 33) = ""
If CheckBox32 = True Then .Cells(Lgn, 34) = "X" Else .Cells(Lgn, 34) = ""
If CheckBox33 = True Then .Cells(Lgn, 35) = "X" Else .Cells(Lgn, 35) = ""
If CheckBox34 = True Then .Cells(Lgn, 36) = "X" Else .Cells(Lgn, 36) = ""
If CheckBox35 = True Then .Cells(Lgn, 37) = "X" Else .Cells(Lgn, 37) = ""
If CheckBox36 = True Then .Cells(Lgn, 38) = "X" Else .Cells(Lgn, 38) = ""
If CheckBox37 = True Then .Cells(Lgn, 39) = "X" Else .Cells(Lgn, 39) = ""
If CheckBox38 = True Then .Cells(Lgn, 40) = "X" Else .Cells(Lgn, 40) = ""
If CheckBox39 = True Then .Cells(Lgn, 41) = "X" Else .Cells(Lgn, 41) = ""
If CheckBox40 = True Then .Cells(Lgn, 42) = "X" Else .Cells(Lgn, 42) = ""
If CheckBox41 = True Then .Cells(Lgn, 43) = "X" Else .Cells(Lgn, 43) = ""
If CheckBox42 = True Then .Cells(Lgn, 44) = "X" Else .Cells(Lgn, 44) = ""
.....

Par une boucle du genre

Dim i as byte
...
For i = 1 to 42
If controls("checkbox" & i) = True Then .Cells(Lgn, i + 44) = "X" Else .Cells(Lgn, i + 44) = ""
Next

A+
kjin
 

cbea

XLDnaute Impliqué
Re : Erreur de propriété List

Bonsoir à tous,

Je pense que ce serait mieux comme cela :

Dim i as byte
...
For i = 1 to 42
If controls("checkbox" & i) = True Then .Cells(Lgn, i + 2) = "X" Else .Cells(Lgn, i + 2) = ""
Next

Bon week-end
 

Discussions similaires

Statistiques des forums

Discussions
312 113
Messages
2 085 426
Membres
102 888
dernier inscrit
medoit