Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Joss

XLDnaute Nouveau
Re : Erreur de propriété List

J'ai supprimé plusieurs colonnes afin de pouvoir l'envoyer. J'espère que vous pourrez m'aider.

Merci à l'avance.
 

Pièces jointes

  • Copie de SV 2008.zip
    42.7 KB · Affichages: 19

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
 

Joss

XLDnaute Nouveau
Re : Erreur de propriété List

Gros gros merci, ça fonctionne à merveille. Je vous en suis très reconnaissante. Félicitations pour ce site, c'est avec vous tous que j'apprends le VBA.
 

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

Réponses
9
Affichages
127
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…