Bonjour,
Est ce mieux ainsi Nad?
Oui, Bien mieux..... (Nous ne sommes pas des robots, juste des bénévoles.....)
Regarde le fichier joint
Un double clic, dans l'onglet "base", sur une des marques, te fait l'extraction vers l'onglet "Extraction"
Le code :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Cel As Range
Dim FeuilD As Worksheet, FeuilE As Worksheet
Dim DerLig As Long, Lig As Long
If Not Intersect(Target, Range("D15:D" & [D65000].End(xlUp).Row)) Is Nothing Then
If Target = "" Then Exit Sub
Set FeuilD = Sheets("données")
Set FeuilE = Sheets("Extraction")
With FeuilD
.Range("C2:E" & .[E65000].End(xlUp).Row).Name = "base"
End With
With FeuilE
.[F1] = "Marque": .[F2] = Target
FeuilD.Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=.Range( _
"F1:F2"), CopyToRange:=.Range("A1:C1"), Unique:=False
.Columns(6).Clear
DerLig = .[B65000].End(xlUp).Row
If DerLig = 1 Then Exit Sub
For Each Cel In .Range("B2:B" & DerLig)
Lig = Application.Match(Cel.Value, FeuilD.Columns(4), 0)
Cel.Offset(, -1) = IIf(FeuilD.Cells(Lig, 3).Value = "", _
FeuilD.Cells(Lig, 3).End(xlUp).Value, FeuilD.Cells(Lig, 3))
Next Cel
End With
End If
End Sub
Fait à partir de ton fichier....
Maintenant, si ton fichier réel ne respecte pas la structure de ton fichier exemple, et que tu n'arrives pas à adapter le code, reviens....
https://www.excel-pratique.com/~files/doc2/test_1_v1.zip
Bonne journée