cathodique
XLDnaute Barbatruc
Bonsoir,
Je voudrais supprimer des lignes du tableau Tb dont les conditions de suppression sont dans un autre tableau TDate.
Les conditions sont les suivantes: Tb(i,1) = Tdate(j,1) and Year(Tb(i,3))<Tdate(j,2)
J'ai sous les yeux un tuto, dans lequel il est dit qu'on ne peut utiliser "Delete" pour un tableau et pour ce faire il faut utiliser un compteur, ça fait un bon moment que j'essaie sans succès.
En vous remerciant.
NB: il n'y a que 2 lignes qui doivent disparaitre (celles qui sont en rouge sur la feuille)
Je voudrais supprimer des lignes du tableau Tb dont les conditions de suppression sont dans un autre tableau TDate.
Les conditions sont les suivantes: Tb(i,1) = Tdate(j,1) and Year(Tb(i,3))<Tdate(j,2)
J'ai sous les yeux un tuto, dans lequel il est dit qu'on ne peut utiliser "Delete" pour un tableau et pour ce faire il faut utiliser un compteur, ça fait un bon moment que j'essaie sans succès.
VB:
Option Explicit
Sub Macro2()
Dim L As Integer, i As Integer, j As Integer, c As Long, k As Long
Dim Tb(), TbR()
Dim TDate(1 To 8, 1 To 2)
Dim Bd As Worksheet
'Tableau date
TDate(1, 1) = "T1": TDate(1, 2) = "1960"
TDate(2, 1) = "H2": TDate(2, 2) = "1960"
TDate(3, 1) = "O1": TDate(3, 2) = "1982"
TDate(4, 1) = "G1": TDate(4, 2) = "1986"
TDate(5, 1) = "L1": TDate(5, 2) = "1996"
TDate(6, 1) = "G2": TDate(6, 2) = "2000"
TDate(7, 1) = "DL1": TDate(7, 2) = "2004"
TDate(8, 1) = "RO1": TDate(8, 2) = "2006"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Set Bd = Sheets("bd")
L = Bd.Range("A" & Rows.Count).End(xlUp).Row
Tb = Bd.Range("A1:C" & L).Value
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
For i = 1 To UBound(Tb)
For j = 1 To 8
c = c + 1
If Tb(i, 1) = TDate(j, 1) And Year(Tb(i, 3)) < TDate(j, 2) Then
TbR(c, 1) = Tb(i, 1) '**bug n'appartient pas à la selection
TbR(c, 2) = Tb(i, 2)
TbR(c, 3) = Tb(i, 3)
End If
Next j
Next i
Bd.[I1].Resize(UBound(TbR), 3) = TbR
End Sub
En vous remerciant.
NB: il n'y a que 2 lignes qui doivent disparaitre (celles qui sont en rouge sur la feuille)
Pièces jointes
Dernière édition: