VBA supprimer l'indice 0 d'une liste

kenzo1245

XLDnaute Nouveau
Bonjour,

J'aimerais savoir si c'est possible d'enlever l'indice 0 d'une liste array en vba ?

Exemple:

Code:
liste = Array(36, 24, 5, 8, 9)
ReDim Preserve liste(LBound(liste) + 1 To UBound(liste))

Ca ne fonctionne pas, mais par contre retirer le dernière élément ça fonctionne.
Auriez-vous une idée de comment je pourrais faire?

Merci d'avance.
 

ROGER2327

XLDnaute Barbatruc
Re : VBA supprimer l'indice 0 d'une liste

Bonjour à tous.


Pas claire, cette affaire.



  • S'il s'agit que le plus petit indice de liste soit 1 dès le chargement, écrire
    VB:
    Option Base 1
    en tête du module, comme le suggère camarchepas.

  • S'il s'agit d'éliminer le premier élément de la liste et de diminuer de 1 l'indice des autres éléments :
    VB:
    Sub tata()
    Dim i&, liste()
      liste = Array(36, 24, 5, 8, 9)
      For i = 1 + LBound(liste) To UBound(liste): liste(i - 1) = liste(i): Next
      ReDim Preserve liste(UBound(liste) - 1)
    End Sub

  • S'il s'agit d'éliminer le premier élément de la liste sans que l'indice des autres éléments soit modifié :
    VB:
    Sub toto()
    Dim i&, liste(), tmp()
      liste = Array(36, 24, 5, 8, 9)
      ReDim tmp(1 + LBound(liste) To UBound(liste))
      For i = 1 + LBound(liste) To UBound(liste): tmp(i) = liste(i): Next
      liste = tmp
      Erase tmp
    End Sub


ℝOGER2327
#7523


Dimanche 22 Phalle 141 (Sainte Dragonne, pyrophage - fête Suprême Seconde)
15 Fructidor An CCXXII, 7,1592h - truite
2014-W36-1T17:10:56Z
 

Discussions similaires

Réponses
19
Affichages
2 K

Statistiques des forums

Discussions
312 211
Messages
2 086 298
Membres
103 171
dernier inscrit
clemm