Lorsque vous créez des tableaux dynamiques en VB, vous serez peut-être ammenés à avoir besoin de supprimer un élement qui ne se trouve pas forcément être le dernier. Je ne sais pas comment créér une fonction adéquate (les passages de tableaux dans les fonctions marchent mal en VB) mais le code d'une telle suppression est suffisament court pour être écrit à chaque emploi. On constate deux cas : les tableaux de variables et les tableaux d'objets (aussi appelés les tableaux de pointeurs).
Source / Exemple :
'Xsupp représente l'index de la case à supprimer
'Tabl représente le tableau qui contient la case à supprimer
'Cas des tableaux de variables
For X = Xsupp + 1 To Ubound(Tabl)
Tabl(X - 1) = Tabl(X)
Next
Redim Preserve Tabl(Ubound(Tabl) - 1)
'Cas des tableaux de pointeurs
For X = Xsupp + 1 To Ubound(Tabl)
Set Tabl(X - 1) = Tabl(X)
Next
Redim Preserve Tabl(Ubound(Tabl) - 1)
Conclusion :
Faites cepandant attention, l'utilisation de cet algorithme décale d'un cran vers la gauche tous les éléments du tableau situé après l'élément supprimé.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.