erreur 8: l'indice n'appartient pas à la sélection

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

S

sandy13

Guest
Bonjour à tous. Voici un bout de programme que j'ai écris pour enregistrer des données dans 2 tableaux différents. Au moment d'exécuter, une erreur me dit que k'indice n'appartient pas à la sélection sur la ligne 8 (tab1(n)= Cells(i,1)). Je ne comprends pas. Est ce vous pourriez m'aider SVP. 🙁

Sub categories()
Dim i As Integer
Dim tab1() As String 'tableau dynamique récapitulatif des messages
Dim tab2() As Integer 'tableau de stockage des numéros de lignes
n = 0 'taille du tableau dynamique
For i = 2 To 10000 'Enregistrement des messages dans un tableau dynamique
If Cells(i, 1) <> "" And Cells(i, 1) <> "(vide)" And Cells(i, 1) <> "Total général" Then
tab1(n) = Cells(i, 1)
tab2(n) = i
n = n + 1
End If
Next
 
Re : erreur 8: l'indice n'appartient pas à la sélection

Bonjour sandy13, et bienvenue,

Tu as défini des tableaux de type dynamique, il faut donc leur appliquer une dimension au sein de la boucle.

Par ex:

Code:
Sub categories()
Dim i As Integer
Dim tab1() As String 'tableau dynamique récapitulatif des messages
Dim tab2() As Integer 'tableau de stockage des numéros de lignes
n = 0 'taille du tableau dynamique
For i = 2 To 10000 'Enregistrement des messages dans un tableau dynamique
ReDim Preserve tab1(n)
ReDim Preserve tab2(n)
If Cells(i, 1) <> "" And Cells(i, 1) <> "(vide)" And Cells(i, 1) <> "Total général" Then
        tab1(n) = Cells(i, 1)
        tab2(n) = i
        n = n + 1
    End If
Next
Cordialement.
 
Re : erreur 8: l'indice n'appartient pas à la sélection

Merci beaucoup Papou. Sa fonctionne à merveille. STP tu peux me dire à quoi sert le "Preserve" que tu ajoutes après Redim?

RE:

Le Preserve après Redim évite que le tableau soit réinitialisé. Les données existantes dans le tableau sont conservées, sans cette précaution elles seraient effacées.

Cordialement.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
733
Retour