Private Sub CommandButton10_Click()
Dim Filtre As String
Dim Destination As Range
' Le nom du pays est rentré sous la variable Filtre
Filtre = ComboBox1.Value
' Vide les colonnes où les données vont se copier
Sheets("database").Range("B2:B65536") = ""
Sheets("database").Range("C2:C65536") = ""
' Pour obliger l'utilisateur à sélectionner un pays avant
If ComboBox1 = "" Then
MsgBox ("Rentrez un pays avant de valider!")
Else
' Filtre avec le pays
Sheets("Détaillant").Range("$A$1:$A$3427").AutoFilter Field:=2, Criteria1:=Filtre
End If
'Définis la plage où sera copiée les données
Set Destination = Sheets("database").Range("B2")
Dim MaPlage As Range
'Représente les données filtrées et les titres
Set MaPlage = Sheets("Détaillant").AutoFilter.Range
'Représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1, MaPlage.Rows.Count)
'Copie les données à l'endroit qui alimente la combobox
MaPlage.Copy Destination
ComboBox2.Clear'vide la combobox 'Value = "" efface la sélection
Sheets("database").Select
''Remplissage de la combobox problématique si il n'y a qu'une seule ligne, c'est à dire, que dans B2
If Range("B2:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row).Rows.Count > 1 Then
ComboBox2.List = Range("B2:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row).Value
Else
ComboBox2.AddItem Range("B2:B" & Cells(Application.Rows.Count, 2).End(xlUp).Row).Value
End If 'Sauvegarde pour prendre en compte le remplissage
ActiveWorkbook.Save
End Sub