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

hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   -  
ccm81 Messages postés 11033 Statut Membre -
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

  1. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. hakoko Messages postés 189 Date d'inscription   Statut Membre Dernière intervention   4
       
      Merci pour vos réponse, cependant j'ai toujours les même problème.
      0
  3. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    Re,

    Ça bug ???????

    Mais pas chez nous (bonjour ccm81) !!!.
    0
    1. 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
    2. ccm81 Messages postés 11033 Statut Membre 2 434
       
      Salut Patrice,

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

      Cdlmnt
      0