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

Bonjour,

Depuis un partage de fichier, j'ai un client qui 'a renvoyé son fichier complété, mais chaque fois que j'essaye de modifier une cellule des tableaux du classeur après déverrouillage , j'ai cette erreur qui s'affiche sans possibilité de débogage.

image

Indice hors plage (Erreur 9) | Microsoft Learn : ici Microsoft explique assez peu clairement pourquoi il y a cette erreur, mais je ne comprend pas où aller corriger.

Comment savoir à quel code VB cette erreur est liée ?

merci pour votre aide !

Tadjoul

Bonjour,

Il faudrait déverrouiller le VBA Project pour savoir ou la macro plante en cliquant sur "Débogage"

A+

Merci JExcel2Fr :-)

image
Private Sub Worksheet_Change(ByVal Target As Range)
    'Updated by Extendoffice 2019/11/13
    Sheets("6-Formateurs 2024").Unprotect Password:="xxx"
    Dim xRng As Range
    Dim xValue1 As String
    Dim xValue2 As String
    If Target.Count > 1 Then Exit Sub
    On Error Resume Next
    Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
    If xRng Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If Not Application.Intersect(Target, xRng) Is Nothing Then
        xValue2 = Target.Value
        Application.Undo
        xValue1 = Target.Value
        Target.Value = xValue2
        If xValue1 <> "" Then
            If xValue2 <> "" Then
                If xValue1 = xValue2 Or _
                   InStr(1, xValue1, ", " & xValue2) Or _
                   InStr(1, xValue1, xValue2 & ",") Then
                    Target.Value = xValue1
                Else
                    Target.Value = xValue1 & ", " & xValue2
                End If
            End If
        End If
    End If
    Application.EnableEvents = True

    With [X11:X394]
        .EntireRow.AutoFit
    End With
Sheets("6-Formateurs 2024").Protect Password:="xxx"
End Sub

Je crois que c'est un problème de protection ? Qu'en pensez-vous ?

Merci !

Hello,

la feuille "6-Formateurs 2024" n'existe pas dans le classeur

Oui !! c'est bien cela le problème, la feuille s'appelle "6-Formateurs 2026"

J'ai modifié et cela a résolu le problème.

merci beaucoup :-)

Par contre, je ne comprends pas comment ce nom de l'onglet du fichier antérieur est arrivé là... Il me semblait que les formules s'adaptaient lorsqu'on renommait un onglet, non ?

En tout cas, vraiment merci beaucoup pour votre aide !!

Bonjour à tous,

Oui les formules dans Excel s'adaptent, mais pas dans votre code VBA. Enfin c'est différent :

Si vous voulez référer à la feuille quel que soit son nom affiché, utilisez plutôt son nom de code. Il est affiché dans le projet VBA, avant son nom entre parenthèses.

image

Ainsi, si dans mon exemple je voulais me référer à la feuille "Suivi" même si elle venait à être renommée, j'écrirai : Sheet1.Unprotect "xxx"

Rechercher des sujets similaires à "erreur execution indice appartient pas selection"