Debutant Vba - L'indice ne correspond pas à la sélection "erreur d'execution 9"

popcorn

XLDnaute Occasionnel
Bonjour,

J'ai suivi un tutoriel pour créer un formule en vba. Cela me paraissait simple mais, j'ai un problème l'indice ne correspond pas à la sélection, erreur d’exécution 9.
A priori cela vient du nom de l'onglet que j'ai rectifié. Je poste le code, sachant que tout n'est pas cohérent car j'ai une liste civilité qui ne correspond en rien à mon besoin. Le problème ne vient pas de la.

J'ai fait un copié /collé du code et j'ai du retaper les guillemets et les apostrophes, j'ai l'impression que cela pourrait être un problème de ce genre. Je suis sous Mac.

Voila le code :

Code:
Option Explicit

Dim Ws As Worksheet

Private Sub ComboBox3_Change()

End Sub

Private Sub Label9_Click()

End Sub

'Pour le formulaire

Private Sub UserForm_Initialize()

Dim J As Long

    Dim I As Integer

    ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité

    ComboBox2.List() = Array("  ", " M. ", " Mme ", " Mlle ")

    Set Ws = Sheets(" Checkin ") 'Correspond au nom de votre onglet dans le fichier Excel

    With Me.ComboBox1

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

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

        Next J

    End With

    For I = 1 To 7

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

    Next I

End Sub

'Pour la liste déroulante Code client

Private Sub ComboBox1_Change()

    Dim Ligne As Long

    Dim I As Integer

    If Me.ComboBox1.ListIndex = -1 Then Exit Sub

    Ligne = Me.ComboBox1.ListIndex + 2

    ComboBox2 = Ws.Cells(Ligne, " B ")

    For I = 1 To 7

        Me.Controls(" TextBox " & I) = Ws.Cells(Ligne, I + 2)

    Next I

End Sub

'Pour le bouton Nouveau contact

Private Sub CommandButton1_Click()

    Dim L As Integer

    If MsgBox(" Do you want to insert this new contract ? ", vbYesNo, " Demande de confirmation d’ajout ") = vbYes Then

        L = Sheets(" Checkin ").Range(" a65536 ").End(xlUp).Row + 1 'Pour placer le nouvel enregistrement à la première ligne de tableau non vide

        Range(" A " & L).Value = ComboBox1

        Range(" B " & L).Value = ComboBox2

        Range(" C " & L).Value = TextBox1

        Range(" D " & L).Value = TextBox2

        Range(" E " & L).Value = TextBox3

        Range(" F " & L).Value = TextBox4

        Range(" G " & L).Value = TextBox5

        Range(" H " & L).Value = TextBox6

        Range(" I " & L).Value = TextBox7

    End If

End Sub

'Pour le bouton Modifier

Private Sub CommandButton2_Click()

    Dim Ligne As Long

    Dim I As Integer

    If MsgBox(" Are you sure to edit this contract ? ", vbYesNo, " Demande de confirmation de modification ") = vbYes Then

        If Me.ComboBox1.ListIndex = -1 Then Exit Sub

        Ligne = Me.ComboBox1.ListIndex + 2

        Ws.Cells(Ligne, " B ") = ComboBox2

        For I = 1 To 7

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

                Ws.Cells(Ligne, I + 2) = Me.Controls(" TextBox " & I)

            End If

        Next I

    End If

End Sub

'Pour le bouton Quitter

Private Sub CommandButton3_Click()

    Unload Me

End Sub


Je joins le fichier.

Merci de votre aide
 

Pièces jointes

  • checkin_test.xlsm
    39.4 KB · Affichages: 58
  • checkin_test.xlsm
    39.4 KB · Affichages: 48

CHALET53

XLDnaute Barbatruc
Re : Debutant Vba - L'indice ne correspond pas à la sélection "erreur d'execution 9"

bonjour,

Attention aux blancs que tu mets entre les ""
un essai

Private Sub UserForm_Initialize()

Dim J As Long

Dim I As Integer

ComboBox2.ColumnCount = 1 'Pour la liste déroulante Civilité

ComboBox2.List() = Array(" ", " M. ", " Mme ", " Mlle ")

Set Ws = Sheets("Checkin") 'Correspond au nom de votre onglet dans le fichier Excel

With Me.ComboBox1

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

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

Next J

End With

For I = 1 To 5

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

Next I

End Sub


a+
 

frangy

XLDnaute Occasionnel
Re : Debutant Vba - L'indice ne correspond pas à la sélection "erreur d'execution 9"

Bonjour,

Ton fichier en retour avec quelques corrections (dont celles indiquées par CHALET53)

A+
 

Pièces jointes

  • checkin_test.xlsm
    22.9 KB · Affichages: 78
  • checkin_test.xlsm
    22.9 KB · Affichages: 64

popcorn

XLDnaute Occasionnel
Re : Debutant Vba - L'indice ne correspond pas à la sélection "erreur d'execution 9"

Merci CHALET53 et frangy, c'est top super réactif.

J'avais fait un essai sans les espaces et ce ne fonctionné pas. J'ai essayé le fichier de frangy et ça passe. Bon, maintenant je m'attelle à comprendre cela.

Merci encore
 

Statistiques des forums

Discussions
312 104
Messages
2 085 330
Membres
102 862
dernier inscrit
Emma35400