Combobox et filtres

bonjour, je débute en VBA.

cela fait une semaine que je ne trouve pas de réponse à mon problème.

J'ai créer un usf avec combobox j'ai fait ce code pour récupérer les données visibles apres filtre dans ma combobox :

ComboBox3.Clear

Dim c As Range

With Worksheets("Feuil5")

For Each c In .Range("A24:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeVisible)

ComboBox3.AddItem (c.Value)

Next

End With

End Sub

si je n'applique pas mon filtre tout fonctionne.

Le problème est donc le suivant :

mes textbox (dont les valeurs sont dans d'autres colonnes) sont liés par la listindex de la combobox3. Hors si je sélectionne apres filtre une valeur dans la combobox3 alors les résultats sont faux. Voici une partie de mon code : Pourriez vous m'aider s'il vous plaît ?

Je précise que cet USF ne me sert qu'a modifier, rechercher, et trier. j'ai un autre USF pour insérer mes nouvelles données

'valeurs des cellules dans la combobox 3

Private Sub ComboBox3_Change()

Dim n°_ligne As Integer

n°_ligne = ComboBox3.ListIndex + 24

TextBox1.Value = Cells(n°_ligne, 1).Value

ComboBox1.Value = Cells(n°_ligne, 2).Value

ComboBox2.Value = Cells(n°_ligne, 4).Value

DTPicker1.Value = Cells(n°_ligne, 13).Value

CheckBox3.Value = Cells(n°_ligne, 15).Value

TextBox2.Value = Cells(n°_ligne, 15).Value

If TextBox2.Value = True Then

TextBox2.Value = "FINI"

Else

TextBox2.Value = "au planning"

End If

End Sub

'Valeur de la texbox1

Private Sub TextBox1_AfterUpdate()

Dim n°_ligne As Integer

n°_ligne = ComboBox3.ListIndex + 24

If TextBox1.Value = Cells(n°_ligne, 1).Value Then

Cells(n°_ligne, 1).Value = TextBox1.Value

"valeur de la combobox1

Private Sub ComboBox1_Change()

Dim n°_ligne As Integer

n°_ligne = ComboBox3.ListIndex + 24

If ComboBox1.Value = Cells(n°_ligne, 2).Value Then

Cells(n°_ligne, 2).Value = ComboBox1.Value

Else

Select Case MsgBox("confirmer MODIFIER ?", vbYesNo)

Case vbYes

Cells(n°_ligne, 2).Value = ComboBox1.Value

MsgBox "modification effectuée"

Case vbNo

ComboBox1.Value = Cells(n°_ligne, 2).Value

MsgBox "aucun changement"

End Select

End If

End Sub

Else

Select Case MsgBox("confirmer MODIFIER ?", vbYesNo)

Case vbYes

Cells(n°_ligne, 1).Value = TextBox1.Value

MsgBox "modification effectuée"

Case vbNo

TextBox1.Value = Cells(n°_ligne, 1).Value

MsgBox "aucun changement"

End Select

End If

End Sub

Bonsoir,

Du code hors balises Code ! Je ne lirai pas au-delà de la première demi-ligne !

Rechercher des sujets similaires à "combobox filtres"