Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé
Salut Jean Michel, Une façon comme une autre mais qui n'est probablement pas la plus rapide. Dans l'exemple ci dessous, la ligne contenant le lettre "E" a disparue. Adapte :
Sub Tableau() Dim Tbl() As String Dim I As Integer Dim LigneASupprimer As Integer
ReDim Tbl(1 To 2, 1 To 10)
For I = 1 To UBound(Tbl, 2) Tbl(1, I) = Chr(64 + I) Tbl(2, I) = I Next I
LigneASupprimer = 5 'déplace les valeurs For I = LigneASupprimer To UBound(Tbl, 2) - 1 Tbl(1, I) = Tbl(1, I + 1) Tbl(2, I) = Tbl(2, I + 1) Next I 'réduit le tableau d'une ligne ReDim Preserve Tbl(1 To 2, 1 To UBound(Tbl, 2) - 1)
For I = 1 To UBound(Tbl, 2) Debug.Print "ligne " & I Debug.Print "colonne 1 """ & Tbl(1, I) & _ """" & " colonne 2 """ & Tbl(2, I) & """" Next
Les numero 1 2 3 ne sont pas dans le tableau, c'est seulement les numero i de tablo(i)
Et je voudrais que ca se remette en forme comme dans l'exemple !
Merci bcp !
Salut Jean Michel,
Une façon comme une autre mais qui n'est probablement pas la plus rapide.
Dans l'exemple ci dessous, la ligne contenant le lettre "E" a disparue.
Adapte :
Sub Tableau()
Dim Tbl() As String
Dim I As Integer
Dim LigneASupprimer As Integer
ReDim Tbl(1 To 2, 1 To 10)
For I = 1 To UBound(Tbl, 2)
Tbl(1, I) = Chr(64 + I)
Tbl(2, I) = I
Next I
LigneASupprimer = 5
'déplace les valeurs
For I = LigneASupprimer To UBound(Tbl, 2) - 1
Tbl(1, I) = Tbl(1, I + 1)
Tbl(2, I) = Tbl(2, I + 1)
Next I
'réduit le tableau d'une ligne
ReDim Preserve Tbl(1 To 2, 1 To UBound(Tbl, 2) - 1)
For I = 1 To UBound(Tbl, 2)
Debug.Print "ligne " & I
Debug.Print "colonne 1 """ & Tbl(1, I) & _
"""" & " colonne 2 """ & Tbl(2, I) & """"
Next
Erase Tbl
End Sub
Hervé.
"Jean-Michel" <jeneveuxpasdespam_coconuts@genial.net> a écrit dans le
message news: e5G9SU6pDHA.2528@TK2MSFTNGP10.phx.gbl...
Salut Jean Michel, Une façon comme une autre mais qui n'est probablement pas la plus rapide. Dans l'exemple ci dessous, la ligne contenant le lettre "E" a disparue. Adapte :
Sub Tableau() Dim Tbl() As String Dim I As Integer Dim LigneASupprimer As Integer
ReDim Tbl(1 To 2, 1 To 10)
For I = 1 To UBound(Tbl, 2) Tbl(1, I) = Chr(64 + I) Tbl(2, I) = I Next I
LigneASupprimer = 5 'déplace les valeurs For I = LigneASupprimer To UBound(Tbl, 2) - 1 Tbl(1, I) = Tbl(1, I + 1) Tbl(2, I) = Tbl(2, I + 1) Next I 'réduit le tableau d'une ligne ReDim Preserve Tbl(1 To 2, 1 To UBound(Tbl, 2) - 1)
For I = 1 To UBound(Tbl, 2) Debug.Print "ligne " & I Debug.Print "colonne 1 """ & Tbl(1, I) & _ """" & " colonne 2 """ & Tbl(2, I) & """" Next