Bonjour à tous,
Je suis débutant en programmation vba sous excel, alors j'ai besoin de votre aide. Voici mon problème:
J'ai un classeur avec plusieurs feuilles (jusque là rien d’extraordinaire), sur ma feuille 4 nommée "Reperes" j'effectue une série de macro à partir d'un UserForm. Dans ce UserForm j'ai deux textBox (textBoxRep et textBoxDesg), lorsque je saisie une donnée dans l'une des deux textbox et que je clique sur mon boutton "CommandButton1", cela effectue un tri dans ma feuille 4 "Reperes" suivant les données saisies dans la textbox. Ensuite je récupère les valeurs (texte) de la colonne "F" de la feuille 4 "Reperes" dans ma comboBox1.
Et j'aimerai retirer les doublons (dans ma comboBox1) de ma colonne "F" filtrée dans ma feuille 4 "Reperes". Mais je n'y arrive pas, voici le code que j'utilise dans mon UserForm1 :
Private Sub CommandButton1_Click()
'Filtre colonne repere
With Worksheets(4)
Range("E1:E500").AutoFilter Field:=5, Criteria1:=TextBoxRep.Value, Operator:=xlOr, _
Criteria2:="=*" & TextBoxRep.Value & "*"
End With
'Filtre colonne designation
With Worksheets(4)
Range("F1:F500").AutoFilter Field:=6, Criteria1:=TextBoxDesg.Value, Operator:=xlOr, _
Criteria2:="=*" & TextBoxDesg.Value & "*"
End With
'Rempli la combobox suivant le filtre
Set Rng = [_FilterDataBase]
Dim tmp(): ReDim tmp(1 To [_FilterDataBase].Resize(, 1).SpecialCells(xlCellTypeVisible).Count)
For Each c In [_FilterDataBase].Resize(, 1).Offset(1).SpecialCells(xlCellTypeVisible)
i = i + 1: tmp(i) = c.Row - Rng.Row + 1
Next c
Me.ComboBox1.List = Application.Index(Rng, Application.Transpose(tmp), Application.Transpose(Evaluate("Row(6:" & Rng.Columns.Count & ")")))
End Sub
Private Sub CommandButtonRaz_Click()
'Vide les textbox Reperes et Designation
TextBoxRep.Value = ""
TextBoxDesg.Value = ""
'Filtre_raz Macro
With Worksheets(4)
Columns("A:N").Select
Selection.AutoFilter
End With
End Sub
Merci pour la future aide que vous m'apporterez !