Bonjour…
Toujours fidèle aux Tableaux (ListObjects) avec leur nombreuse spécificités, le tableau de données nommé BD, le tableau des catégories nommé TC, le tableau de réception nommé BC et au nombre de feuilles limité*,
un exemple, dans la fenêtre des codes de l’onglet Données
Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
If Not Intersect(R, [BD]) Is Nothing And R.CountLarge = 1 Then
If Application.CountA([BC]) > 0 Then [BC].Delete
[BD].AutoFilter 1, R
[BD[[N°Devis]:[DateFacture]]].Copy [BC].Item(1, 1)
[BC] = [BC].Value: [BC].Sort [BC].Columns(1), Header:=1
[BD].AutoFilter ‘tri (pas obligatoire)
Cancel = 1
Feuil1.Name = R ‘feuille Categorie
End If
End Sub
Nota : dans mon exemple, j’ai rajouté une macro qui permet d’effacer le tableau de réception afin d’alléger le fichier surtout s’il est très développé.
* Or, les catégories peuvent intervenir dans de nombreux cas, donc, autant en dresser leur liste complète dès le départ et éviter de créer (ou pas) une feuille pour chacune d’elles.