Supprimer une occurence dans un tableau

Le
AfterBoy
Bonjour,

J'ai un tablo à une dimension de taille variable et je veux le
parcourir et supprimer certaines occurences selon un critère.

for i = 1 to ubound(tablo)
if tablo(i) = critère then
supprimer cette occurence
endif
next

comment faire pour supprimer cette occurence du tableau??

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #6351701
Bonjour,

J'utilise la solution suivante:
Créer un 2ème tableau dans lequel on recopie les valeurs à garder puis
supprimer le 1er tableau et ensuite lui affecter les valeurs du 2ème.
Un truc du genre:

Sub ReduireTableau()
Dim Tablo1() As Variant, Tablo2() As Variant
Dim i As Long, j As Long
ReDim Tablo1(10)
' Remplissage du 1er tableau & affichage
For i = 0 To 9
Tablo1(i) = Chr(65 + i)
Next i
For i = 0 To 9
Debug.Print Tablo1(i),
Next i: Debug.Print
j = 0
ReDim Tablo2(j)
' Remplissage du 2ème tableau
' à l'aide des valeurs à conserver
For i = 0 To UBound(Tablo1) - 1
If Tablo1(i) <> Chr(70) Then ' critère
Tablo2(j) = Tablo1(i)
j = j + 1
ReDim Preserve Tablo2(j)
End If
Next i
' Suppression 1er tableau
Erase Tablo1
' Réaffectation des valeurs du 2ème tableau au 1er
Tablo1() = Tablo2()
' Affichage pour vérification
For i = 0 To UBound(Tablo1) - 1
Debug.Print Tablo1(i),
Next i: Debug.Print
' Libération de la mémoire allouée aux tableaux dynamiques
Erase Tablo1, Tablo2
End Sub


Bonjour,

J'ai un tablo à une dimension de taille variable et je veux le
parcourir et supprimer certaines occurences selon un critère.

for i = 1 to ubound(tablo)
if tablo(i) = critère then
supprimer cette occurence
endif
next

comment faire pour supprimer cette occurence du tableau??

Merci


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Publicité
Poster une réponse
Anonyme