Bonjour,
Une proposition VBA avec conversion de ton tableau en objet tableau pour répétition des formules, comme recommandé par JMD.
Bonjour thev,
C'est super, tu as compris mon besoin du premier coup!! Je te remercie!
En revanche il y a un petit hic, je ne souhaite pas convertir le tableau en objet tableau.
Du coup j'ai essayé de modifier ton code VBA mais.... étant pas très bon... ça ne marche
J'ai mis en couleur ce que j'ai tenté de faire.
Sub insérer_ligne()
Dim cell As Range, cell1 As Range
Dim i As Integer
With Feuil1.ListObjects(1)
' recherche dans tableau de suivi de la dernière cellule correspondant à la catégorie produit sélectionnée
Set cell = .ListColumns("Catégorie de produit").Range.Find(Range("B10:B60"), SearchDirection:=xlPrevious)
If Not cell Is Nothing Then
'recherche dans tableau de suivi de la dernière ligne correspondant à la catégorie produit et type produit sélectionné
Set cell1 = cell
Do
i = cell.Row - .HeaderRowRange.Row 'numéro de ligne du tableau
If .ListColumns("type de produit").DataBodyRange.Rows(i) = Range("C10:C60") Then Exit Do
Set cell = .ListColumns("Catégorie de produit").Range.FindPrevious(cell)
Loop Until cell.Address = cell1.Address
'ajout nouvelle ligne tableau derrière la dernière trouvée
i = i + 1
.ListRows.Add i
.ListColumns("Catégorie de produit").DataBodyRange.Rows(i) = Range("B10:B60")
.ListColumns("type de produit").DataBodyRange.Rows(i) = Range("C10:C60")
End If
End With
End Sub
Cordialement
Monsach