Merci Hasco !
Celà fonctionne très bien, mais j'ai voulu l'adapter à mon tableau définitif, qui comporte 21 colonnes, en modifiant noms de colonne et cellules, mais celà ne va pas - Voici le code "transformé", je ne peux hélas pas mettre le vrai tableau en PJ..; voyez-vous qq chose qui serait mal transposé ?
Const FML As String = "=SUMPRODUCT(($D$2:$D$#=$D2)*($G$2:$G$#<>$G2))"
Dim plg As Range
Set plg = ThisWorkbook.Sheets("Consolidation").Range("C1").CurrentRegion
'
'
' Création critères filtre
plg.Parent.Range("Y1:Y2") = Application.Transpose(Array("Nb Creations", ">0"))
'
' Création colonne supplémentaire provisoire pour la formule de comptage
With plg.Offset(1, plg.Columns.Count).Resize(plg.Rows.Count - 1, 1)
'
.Formula = Replace(FML, "#", CStr(.Row + .Rows.Count))
'
' Laisser le temps à l'application de calculer si de nombreuses lignes
Do
DoEvents
Loop Until Application.CalculationState = xlDone
'
' Entête de la colonne
.Cells(0, 1) = "Nb Creations"
'
' Filtrage du tableau
.CurrentRegion.AdvancedFilter xlFilterCopy, plg.Parent.Range("Y1:Y2"), plg.Parent.Range("AA1:AA22")
'
' Nettoyage de la colonne de calcul
.ClearContents
.Cells(0, 1).ClearContents
End With
'
' Nettoyage de la zone de critères
plg.Parent.Range("Y1:Y2").ClearContents
End Sub