je recherche un code, une formule qui me permettrait de déclencher une action si une colonne contient une certaine valeur. exemple :
la colonne B contient des chaines de textes comme ATP - JUI - LOP ou ATP - LOP
j'ai une comobox avec en valeur ATP ou JUI ou LOP. je voudrais une fonction qui fait que si je sélectionne ATP dans ma comobox, ma colonne A n'affiche que les lignes contenant ATP dans la colonne B. Donc une formule qui m'affiche les lignes qui affichent la sélection du userform
Option Explicit
Private Sub UserForm_Initialize()
ComboBox1.List = Feuil2.[B4:B7].Value
End Sub
Private Sub ComboBox1_Change()
Feuil1.AutoFilter.Range.AutoFilter Field:=2, Criteria1:="=*" & ComboBox1.Text & "*", Operator:=xlAnd
End Sub
Option Explicit
Private Sub UserForm_Initialize()
ComboBox1.List = Feuil2.[B4:B7].Value
End Sub
Private Sub ComboBox1_Change()
Feuil1.AutoFilter.Range.AutoFilter Field:=2, Criteria1:="=*" & ComboBox1.Text & "*", Operator:=xlAnd
End Sub
Option Explicit
Private Sub UserForm_Initialize()
ComboBox1.List = Feuil2.[B4:B7].Value
End Sub
Private Sub ComboBox1_Change()
Feuil1.AutoFilter.Range.AutoFilter Field:=2, Criteria1:="=*" & ComboBox1.Text & "*", Operator:=xlAnd
End Sub
Vous vouliez qu'elles soient juste affichées. Si en plus vous voulez qu'elle soient colpiées et collées ailleurs, ajoutez les instructions qui font ça. Aidez vous de l'enregistreur de macro pour le brouillon.
Vous vouliez qu'elles soient juste affichées. Si en plus vous voulez qu'elle soient colpiées et collées ailleurs, ajoutez les instructions qui font ça. Aidez vous de l'enregistreur de macro pour le brouillon.
Là ne sont affichées que les lignes contenant la valeur de la ComboBox1
Si vous préférez ne plus filtrer et passer en revue toutes les lignes vous pouvez faire
VB:
Private Sub ComboBox1_Change()
Dim Z$, T(), L&
Z = "*" & ComboBox1.Text & "*"
T = Feuil1.AutoFilter.Range.Value
For L = 1 To UBound(T, 1)
If T(L, 2) Like Z Then
…
End If: Next L