Filtre dans une colonne

Bonjour tout le monde

Nouveau problème. Ils se suivent, mais ne se ressemble pas

J'aimerais faire une recherche dans la cellule "D3" concernant la colonne Libellé

Merci d'avance pour votre aide

Bonjour

- Faites un clic dtoite sur le nom de l'onglet "Base de données"
- Choisir l'option "Visualiser le code"
- Coller le code ci-dessous dans la fenêtre

Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range

If Target.count > 1 then exit sub
If Not Intersect(Target, Range("D3")) Is Nothing Then

    If AutoFilterMode = False Then Range("B6:E6").AutoFilter 'si filtre absent on remet le filtre
    On Error Resume Next
    ShowAllData 'defiltrer
    On Error GoTo 0

    Set plage = Range("D7:D" & Range("D" & Rows.Count).End(xlUp).Row)
    Range("$B$6:$E" & plage.Rows.Count).AutoFilter Field:=3, Criteria1:="=*" & Target.Value & "*", Operator:=xlAnd
End If
Range("D3").Select
End Sub

Ensuite il vous suffit d'entrer les lettres en D3, puis touche Entree sur votre clavier

Si vous supprimez l'info en D3, cela ré-affiche la liste

Cordialement

Merci ça commence à fonctionner

Serait-il possible de modifier le code pour ne pas avoir besoin de faire enter

Merci d'avance

Serait-il possible de modifier le code pour ne pas avoir besoin de faire enter

Alors il faut changer votre projet et mettre un objet "textbox" comme dans votre fil précédent au lieu d'entrer les infos dans une cellule.

Avec la textbox cela revient à ce que je vous ai expliqué ici dans la vidéo --> https://forum.excel-pratique.com/s/goto/1235559

Actuellement lorsque vous faites ENTREE sur la clavier cela vous ramène toujours sur la cellule D3.

Crdlt

Merci, mais ça je suis incapable de faire

Merci, mais ça je suis incapable de faire

Le tout est de voir si vous voulez cette solution ou pas sachant que dans le fil précédent vous n'en avez pas voulu.

Sinon on peut le faire bien entendu. Ce n'est pas un gros changement à faire dans le code et au niveau de votre feuille on ne se sert plus de la cellule D3 mais d'un objet textbox placé sur la feuille

Dites moi

Je ne réussis pas à faire l'objet en question tex Box

Regardez cette vidéo.

text

Dites moi si vous y arrivez
Après je vous donne le code qui fonctionnera avec cette façon de faire
Si souci je vous donnerai le fichier

C'est ce que j'essaie de faire, mais j'ai chaque fois le même message d'erreur "Impossible d'insérer un objet"

Re

mais j'ai chaque fois le même message d'erreur "Impossible d'insérer un objet"

??? heu je me demande comment vous faites. Vous ne suivez pas la vidéo je pense ou alors votre feuille est protégée.

Vous devez juste cliquer sur l'icône "Insérer" puis choisir l'icône "Zone de texte" comme montré sur la vidéo
Après vous cliquez là où je vous montre puis vous dessinez l'objet

Le dossier n'est pas protégé et je fais exactement ce que montre la vidéo. Toujours la même erreur

xxx

J'ai essayé sur un fichier nouveau vide avec excel j'ai aussi cette erreur

Bonjour,

Dans Fichier > Options > Centre de gestion de la confidentialité > Paramètres > Paramètres ActiveX > Vérifiez que vous avez bien l'avant-dernière option cochée.

image

Si c'est déjà le cas… apparemment votre fichier est probablement corrompu.

J'ai essayé sur un fichier nouveau vide avec excel j'ai aussi cette erreur

A mon avis vous avez ceci dans les paramètres

image

Vérifiez ce que Saboh12617 a écrit et cochez la bonne option

Dites moi si ok pour que je vous poste le code qui est prêt

Merci c'est bon j'ai pu insérer

Ok. Parfait !

Maintenant faites ceci :
- clic droite sur l'onglet "Base de données" et choisir l'option "Visualiser le code"
- Dans la fenêtre vous remplacez le code Worksheet_change que je vous ai donné ici--> https://forum.excel-pratique.com/s/goto/1235692, par celui ci-dessous

Private Sub TextBox1_Change()
Dim plage As Range

If AutoFilterMode = False Then Range("B6:E6").AutoFilter 'si filtre absent on remet le filtre
On Error Resume Next
ShowAllData 'defiltrer
On Error GoTo 0

Set plage = Range("D7:D" & Range("D" & Rows.Count).End(xlUp).Row)
Range("$B$6:$E" & plage.Rows.Count).AutoFilter Field:=3, Criteria1:="=*" & TextBox1.Value & "*", Operator:=xlAnd
End Sub

Une fois fait, il vous suffit d'entrer les lettres dans la textbox que vous avez insérée

Crdlt

Merci tout fonctionne c'est merveilleux

Merci a tous

Merci du retour.

Un petit complément...

Suite à l'utilisation de la Texbox, il faut modifier le code associé au bouton Rechercher placé dans la feuille formulaire

Allez dans le module 2 et remplacez le code Macro3 par celui ci-dessous

Sub Macro3()
With Sheets("Base de données")
    .Select
    .TextBox1.Activate
End With
End Sub

Le clic sur le bouton positionnera directement le curseur dans la Textbox1

Cordialement

J'ai fait cette manipulation, mais il y a un problème

le Numéro du dossier est faux (au premier ajout il doit être a 9 et ensuite il doit être à 21

J'ai mis =AUJOURDHUI() en C7 mais ça n'enregistre pas

ensuite il y a un problème avec les cases F7 & G7 qui affiche un p ???

Il me semble que dans le code il doit avoir des codes complètement obsolète

Rechercher des sujets similaires à "filtre colonne"