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

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

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

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+
 
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
 
- 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
4
Affichages
332
Réponses
3
Affichages
569
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
45
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
482
Réponses
2
Affichages
371
Retour