XL 2016 Erreur "L'indice n'appartient pas à la sélection"

Remteyss

XLDnaute Junior
Bonjour le forum,

J'ai créé une macro avec un userform contenant un bouton qui a pour nom "CB_SelectColumns" et je l'ai paramétré comme suit :

VB:
Sub CB_SelectColumns_Click()
    Dim Last_Column_targetfolder As Integer 
    Dim i As Integer
    Dim title As String 
    Dim x As Variant, CheckBoxTitle As String
''''    Setting error messages
    If targetfoldername = "" Or sourcefoldername = "" Then
        MsgBox "Message", vbExclamation, "Error !"
        Exit Sub
    End If
    If TB_title.Text = "" Then
        MsgBox "Message d'erreur", vbExclamation, "Error !"
        Exit Sub
    End If
''''
    
    Call UnhideColumns_targetfolder_SC(targetfoldersheet)
    
    UF_ProjectType.Hide
    title = TB_title.Text
    
    Call LastColumn_targetfolder_SC(targetfoldersheet, Last_Column_targetfolder)
    
    For i = 1 To Last_Column_targetfolder
        If Not targetfoldersheet.Cells(2, i) Like "Version" Then
            x = Split(targetfoldersheet.Cells(2, i), Chr(10))
            CheckBoxTitle = x(0)
            UF_Columnstoupdate.LB_CheckBox.AddItem CheckBoxTitle
        End If
    Next
    UF_Columnstoupdate.Show 0
    
End Sub

Et à la ligne CheckBoxTitle = x(0) j'ai une erreur du type "L'indice n'appartient pas à la sélection". Cette procédure fonctionnait très bien avec un précédent targetfoldersheet mais avec le nouveau j'ai cette erreur... en sachant que la ligne 2 contient bien du texte dans chacune des cellules et le Last_Column_targetfolder renvoit bien une valeur différente de 0 (78)
Aussi, les variables qui ne sont pas définis dans cette procédure le sont dans un autre module (en public)
Je ne peux malheureusement pas joindre les fichiers concernés mais si quelqu'un aurait une piste de résolution je suis preneur :D
 
Solution
Bonjour.
Déjà je déplore que targetfoldersheet n'est pas déclaré As Worksheet.
Personnellement je l'aurais appelé WshCible. Enfin à admettre qu'elle soit quand même initialisée quelque part, je suppose que sa cellule désignée par .Cells(2, i) est vide.

Dranreb

XLDnaute Barbatruc
Bonjour.
Déjà je déplore que targetfoldersheet n'est pas déclaré As Worksheet.
Personnellement je l'aurais appelé WshCible. Enfin à admettre qu'elle soit quand même initialisée quelque part, je suppose que sa cellule désignée par .Cells(2, i) est vide.
 

Remteyss

XLDnaute Junior
Merci pour ton retour @Dranreb
Oui ma worksheet est déclarée en public
En fait, l'utilisateur de la macro sélectionnent les classeurs dans un formulaire et à partir de là ils sont définis.
Ducoup autant pour moi il y a bien une de mes colonnes sur les 78 qui était restée vide...

Je clos donc le sujet !
 

Discussions similaires

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T