Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Code vba permettant de faire une recherche soit dans la colonne A ou B

telemarrk

XLDnaute Occasionnel
Bonjour,

j'ai créé un fichier qui référence les natures du plan comptable M57, B5 permet de rechercher en Colonne A.
Je souhaite faire mes recherches soit par le biais de la colonne A ou de la Colonne B mais je n' y arrive pas quelqu'un peut m'aider.

Cela fonctionne avec un code VBA.


Merci
 

Pièces jointes

  • test.xlsm
    50.5 KB · Affichages: 2

telemarrk

XLDnaute Occasionnel
Bonjour Oneida,

Merci pour ton aide, il y a juste un petit souci.

Si je tape : ali* pour rechercher alimentation cela fonctionne
mais si je tape : 606* pour afficher toutes les lignes commencant par 606 cela ne fonctionne pas
 

scraper

XLDnaute Nouveau
Bonjour Telemarrk, Oneida
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Filter As String, Col As Long, lastRow As Long
    
    If Not Intersect(Target, ActiveSheet.Range("B5")) Is Nothing Then
        Application.ScreenUpdating = False
        If Me.FilterMode Then Me.ShowAllData
        Filter = ActiveSheet.Range("B5")
        lastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
        If Filter <> "" Then
            If IsNumeric(Filter) Then
                Col = 1
                Filter = CStr(Filter)
            Else
                Col = 2
            End If
            With Range("A9:D" & CStr(lastRow)).Select
                ActiveSheet.Range("$A$8:$D$" & CStr(lastRow)).AutoFilter Field:=Col, Criteria1:="*" & Filter & "*"
            End With
        End If
         MsgBox "Nb:" & ActiveSheet.AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Cells.Count - 1
    End If
    Application.ScreenUpdating = True
End Sub
 

Oneida

XLDnaute Impliqué
Bonjour,
Oui, code a peut pret que moi. Marche pas pour ex: 606* partie d'un nombre
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…