Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Erreur "l'indice n'appartient à la selection"

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

treza88

XLDnaute Occasionnel
bonjour à tous,

j'utilise une fonction à l'intérieur avec un Array dynamique à une dimension "sdba", qui a chaque fois que j'appelle cette fonction utilise ce tableau, mais qui n'a pas toujours la même longueur.

A mon premier appel tout ce passe bien, mais après j'ai une erreur "l'indice n'appartient à la sélection" sur la ligne suivante :

VB:
ReDim Preserve sdba(LBound(sdba) To UBound(sdba) + 1)

j'ai bien essayé d'utiliser Erase pour pouvoir le redimensionner, mais j'ai toujours cette erreur.
Voici le code de fonction :

Code:
Function SansDoublonsArray(a)
  Set mondico = CreateObject("Scripting.Dictionary")
  Dim sdba() As Variant
 
  Erase sdba
  mondico.CompareMode = vbTextCompare
  For Each c In a
    If Not mondico.Exists(c) And c <> "" And c <> "?" Then
        mondico(c) = ""
   End If
  Next c
    If mondico.Count <> 0 Then
    sdba = Application.Transpose(mondico.keys)
    ReDim Preserve sdba(LBound(sdba) To UBound(sdba) + 1)
  Else
    ReDim sdba(1 To 1)
  End If
  
  sdba(UBound(sdba)) = "Pilotage"
 
  SansDoublonsArray = sdba
End Function

Pouvez vous me dire ce qui cloche, car de mon coté je ne comprend pas.
Je me dit bien que c'est a cause du changement de longueur du tableau, mais avec Erase je suis sensé être capable de le redimensionner ?
 
Bonsoir.
La propriété Keys d'un Dictionary est un tableau à 1 dimension basé 0 soit équivalent à une ligne de Mondico.Count colonnes
Worksheetfunction.Transpose en fabrique inutilement un tableau à 2 dimensions (1 To Mondico.Count, 1 To 1) dont le nombre de lignes ne peut plus être changé. Vous auriez intérêt à ajouter"Pilotage" à mondico avant d'en extraire les clés.
 
Dernière édition:
- 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

  • Question Question
Microsoft 365 Erreur UBound
Réponses
4
Affichages
240
Réponses
12
Affichages
673
Réponses
3
Affichages
603
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…