Affichage cellules colonne A avec 2 critères dans inputbox

Bonjour à tous,

La plage de recherche est la colonne la colonne A

Dans cette colonne, il y’a plusieurs cellules, pour mieux vous expliquer mon problème, je prends pour exemple les 2 premières cellules (A2 et A3) :

A2 = 0811.021/2008 M

A3 = 0811.104/2009 F

Explication des cellules :

1ere information : Toutes mes cellules se terminent par :

. La lettre’ M’ pour ‘Mâle ---> (cellule A2)

. La lettre F pour ‘Femelle’ ---> pour la cellule A3

2e information : toutes mes cellules contiennent une année

. 2008 pour la cellule A2

. 2009 pour la cellule A3

Pour plus des détails, voir fichier joint.

J’aimerais avec votre assistance, en cliquant sur le bouton se trouvant dans ma feuille, lancer un inputbox, dans un premier temps, il me demandera de préciser le sexe, M pour ‘Mâle’ et F pour ‘Femelle’ et puis par la suite, il me demande l’année, après avoir eu ces 2 informations, le code ne doit m’afficher que les cellules répondant à ces 2 critères.

D’avance merci.

Bonjour,

Teste ceci, ajoute un second bouton et place les sur la ligne 1 (car figée) puis atache les macros correspondantes (Rechercher et Afficher) :

Sub Rechercher()

    Dim Plage As Range
    Dim Cel As Range
    Dim Sexe As String
    Dim Annee As String
    Dim Test As String

    Sexe = UCase(InputBox("Indiquer le sexe par M pour mâle ou F pour femelle !"))

    If Sexe = "" Or Sexe <> "M" And Sexe <> "F" Then Exit Sub

    Annee = InputBox("Indiquer l'année !")

    If Annee = "" Or Not IsNumeric(Annee) Then Exit Sub

    'gèle la mise à jour de l'écran
    Application.ScreenUpdating = False

    With Worksheets("oiseaux")

        'plage définie en colonne A de la feuille "oiseaux"
        Set Plage = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))

        'affiche toutes les lignes
        .Rows.EntireRow.Hidden = False

    End With

    'concatène pour la recherche
    Test = Annee & " " & Sexe

    'boucle sur les cellules de la plage et cache les lignes qui ne correspondent pas aux critères
    For Each Cel In Plage

        'les 6 derniers caractères de chaque cellule doivent être sous la forme "2012 M"
        If Right(Cel.Value, 6) <> Test Then Cel.EntireRow.Hidden = True

    Next Cel

    'rafraîchi l'écran
    Application.ScreenUpdating = True

End Sub

Sub Afficher()

    'affiche toutes les lignes
    Worksheets("oiseaux").Rows.EntireRow.Hidden = False

End Sub

Hervé.

Bonjour

Juste pour essayer les filtres

Bonjour Theze et Banzai64,

Je viens de regarder vos deux solutions, quel plaisir !!!

Les deux solutions proposées sont opérationnelles et répondent totalement à mes attentes, merci beaucoup. Amicalement.

Rechercher des sujets similaires à "affichage colonne criteres inputbox"