Erreur de propriété List

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

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
 
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
 
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
 
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
 
- 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
2
Affichages
400
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
792
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
634
Retour