Bonjour

Besoin d'aide pour fusionner 2 codes

Le code suivant fonctionne très bien, il valide la valeur de la cellule B1 dans la colonne A d'une autre feuille et retourne toute les valeur inscrite en G

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim iLigFin As Integer
    Dim iLig As Integer
    Dim iEcr As Integer
 
 
    If Target.Count = 1 Then
        If Target.AddressLocal = "$B$1" Then
            iLigFin = Range("a" & Rows.Count).End(xlUp).Row
            If iLigFin >= 7 Then
                Range("a8:a" & iLigFin).ClearContents
            End If
 
            iEcr = 7
            iLigFin = Sheets("Facturation_Détaillée").Range("A" & Rows.Count).End(xlUp).Row
            For iLig = 2 To iLigFin
                If Sheets("Facturation_Détaillée").Range("A" & iLig).Value = Target.Value Then
                    Range("A" & iEcr).Value = Sheets("Facturation_Détaillée").Range("G" & iLig).Value
                    iEcr = iEcr + 1
                End If
            Next iLig
       End if
 End if
End sub
1 ière question, comment supprimer les doublons de ce résultat

Autre point, je voudrais ajouter au code qu'il retourne également les valeurs inscrites en AL

Comment ajouter

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
If Target.AddressLocal = "$b$1" Then
            iLigFin = Range("b" & Rows.Count).End(xlUp).Row
            If iLigFin >= 29 Then
                Range("b29:b" & iLigFin).ClearContents
            End If
 
            iEcr = 29
            iLigFin = Sheets("Facturation_Détaillée").Range("al" & Rows.Count).End(xlUp).Row
            For iLig = 2 To iLigFin
                If Sheets("Facturation_Détaillée").Range("al" & iLig).Value = Target.Value Then
                    Range("al" & iEcr).Value = Sheets("Facturation_Détaillée").Range("al" & iLig).Value
                    iEcr = iEcr + 1
Merci