Erreur d'exécution '9': L'indice n'appartient pas à la sélaction

hakoko Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

j'ai copié un programme VBA pour remplir un formulaire, ça bug des le premier prgramme, je cherche la raison mais je ne trouve pas. S'il vous plait pouvez me donner votre avis la dessus? Merci d'avance.


Option Explicit
Dim Ws As Worksheet
Private Sub UserForm_Initialize()


Dim J As Long

Dim I As Integer

ComboBox2.ColumnCount = 1

ComboBox2.List() = Array("DI", "EP", "AVP", "PRO", "DCE", "REA")

Set Ws = Sheets("Phase")

With Me.ComboBox1

For J = 11 To Ws.Range(" A " & Rows.Count).End(xlUp).Row

.AddItem Ws.Range(" A " & J)

Next J

End With

For I = 1 To 11

Me.Controls(" TextBox " & I).Visible = True

Next I

End Sub
            
            

3 réponses

Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Bonjour,

NB : Quand tu postes du code sur le forum ...
Utiliser les balises de code avec indication du langage (=coloration syntaxique)
Explications disponibles ici : Comment utiliser les balises de code
Exemple :
Sub UtiliserLesBalises()
  MsgBox "Merci d'utiliser les balises de code"
End Sub


Dans ton code, il y a des espaces en trop entre les guillemets !

Code corrigé :
Option Explicit
Private Sub UserForm_Initialize()
Dim Ws As Worksheet
Dim J As Long
Dim I As Integer
  ComboBox2.ColumnCount = 1
  ComboBox2.List() = Array("DI", "EP", "AVP", "PRO", "DCE", "REA")
  Set Ws = Sheets("Phase")
  With Me.ComboBox1
    For J = 11 To Ws.Range("A" & Rows.Count).End(xlUp).Row
      .AddItem Ws.Range("A" & J)
    Next J
  End With
  For I = 1 To 11
    Me.Controls("TextBox" & I).Visible = True
  Next I
End Sub

0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Bonjour

Des espaces en trop, essaies ceci
Dim Ws As Worksheet

Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Long
Me.ComboBox2.ColumnCount = 1
Me.ComboBox2.List() = Array("DI", "EP", "AVP", "PRO", "DCE", "REA")
Set Ws = Sheets("Phase")
With Me.ComboBox1
  For J = 11 To Ws.Range("A" & Rows.Count).End(xlUp).Row
    .AddItem Ws.Range("A" & J)
  Next J
End With
For I = 1 To 11
  Me.Controls("TextBox" & I).Visible = True
Next I
End Sub

Cdlmnt
0
hakoko Messages postés 190 Date d'inscription   Statut Membre Dernière intervention   4
 
Merci pour vos réponse, cependant j'ai toujours les même problème.
0
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
Re,

Ça bug ???????

Mais pas chez nous (bonjour ccm81) !!!.
0
Hakoko
 
Re,
En effet j'ai toujours le message d'erreur 9, je ressaye ce soir chez moi, si ça marche pas, je motterais le fichier xlsm en ci-joint. Merci beaucoup.
0
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
Salut Patrice,

Je confirme
http://www.cjoint.com/c/GLlqBFxLGfB

Cdlmnt
0