A la recherche d'une macro

Bonjour,

Existe-t-il une macro VBA me permettant de filtrer dans la colonne ce qu'il y a dans la cellule en appuyant sur un raccourci prédéfini, par exemple j'appuies sur mon raccourci attribué CTRL + SHIFT + M sur la cellule 9, toutes les cellules contenant 9 de la colonne sont filtrés.

Merci d'avance, et bonne fin de journée

J'ai oublié de préciser j'aimerais rentrer cette macro dans mon classeur de macro personnelle (PERSONAL.XLSB) pour l'avoir active dans n'importe quel classeur.

Bonjour

Un essai à tester. Te convient-il ?

7classeur1-v1.xlsm (19.35 Ko)

Bye !

Bonjour, votre exemple est totalement convaincant, cependant je ne le vois pas dans ma liste de macro je voulais étudier comment vous aviez fait, est-ce normal ?

En tout cas merci beaucoup ! Bonne journée !

Il s'agit d'une macro événemetielle qui se déclenche dès qu'on déclenche le double clic ou le clic droit.

Elle n'apparait pas dans la liste des macros car elle est attachée à la feuille. Mais si tu tiens à l'avoir dans ta liste il faut la mettre dans un module et lui donner un autre nom.

Tu peux la voir en faisant un clic droit sur le nom de l'onglet (Feuil 1) puis en choisissant "Visualiser le code"

OK ?

Bye !

D'accord merci pour l'information !

Est-il possible d'attribuer un raccourci clavier dans le même sens que le double clic droit et le clic gauche ?

Merci, bonne soirée.

Bonjour

Nouvelle version

10classeur1-v2.xlsm (21.90 Ko)

Bye !

Bonjour, merci pour votre réponse !

Le dernier fichier est clairement l'attendu que je souhaitais, seulement si le tableau ne commence pas en "A1" le raccourci ne fonctionnera et la macro va me dire qu'il y a un problème de range, est-il possible que la macro soit active qu'importe la première cellule du tableau ?

Merci d'avance pour votre réponse, bonne journée !

Bonjour le fil

@mirlouche09, je ne pense pas qu'il soit bien compliqué de modifier le code donné

Sub Filtrer()
    Set plage = Range(Cells(1, 1), Cells(Range("A" & Rows.Count).End(xlUp).Row, _
            Range("A1").End(xlToRight).Column))
    If Not Intersect(ActiveCell, plage) Is Nothing Then
        With Worksheets("Feuil1")
            If Not .AutoFilterMode Then .Range("A1").AutoFilter
        End With
    End If
    On Error Resume Next
     ActiveSheet.ShowAllData
    col = ActiveCell.Column
    plage.AutoFilter Field:=col, Criteria1:=CStr(ActiveCell.Value)
End Sub

Ca demande juste un peu de réflexion et moins d'empressement

A+

Bonjour @BrunoM45, je me doute que pour quelqu'un comme vous expert en VBA modifier ce code est un jeu d'enfant, pour moi qui est novice je trouve ça complexe, en effet je cherche sur différents forums et sites pour modifier ce code mais je ne trouve pas ce que je cherche, je m'appuie sur vos connaissances pour agrémenter les miennes :)

Si vous avez une solution je suis donc preneur.

Bonne journée !

Re,

Quand même

si le tableau ne commence pas en "A1"

Il faut modifier

Range("A" & Rows.Count), Cells(1, 1) et Range("A1")

Avec la lettre de la colonne ou le numéro de ligne concerné

A+

Merci pour l'aide apporté !

Bonne journée :)

Nouvelle version

9classeur1-v3.xlsm (25.26 Ko)

Bye !

Rechercher des sujets similaires à "recherche macro"