Recherche nom dans une colonne

Résolu/Fermé
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 - 3 janv. 2021 à 10:22
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 - 3 janv. 2021 à 12:10
Bonjour
Voilà, j'ai une macro dans mon fichier pour rechercher les noms dans un colonne. En tapant par exemple, ALB* dans ma fenêtre qui apparait je sélectionne tous les noms qui contiennent ces 3 lettres soit ALB, BLA, LBA etc... Serait possible de ne faire apparaitre que les noms commençant par "ALD" Merci, ci-dessous la macro que j'utilise

Sub FiltreNom()
Dim nomPdt As Variant
Sheets("Fichier Principal").Select
With Worksheets("Fichier Principal") ' adapter le nom de la feuille
' s'il y a déjà un filtre sur la feuille, le supprimer
If Not .AutoFilter Is Nothing Then .AutoFilter.Range.AutoFilter
With .Range("C1").CurrentRegion
' ajouter un filtre automatique sur la plage des données
.AutoFilter
' demander le nom à filtrer
nomPdt = Application.InputBox(Prompt:="Quel nom ?", Type:=2)
If Not nomPdt = False Then
' filtrer la colonne 3 sur le nom saisi
.AutoFilter Field:=3, Criteria1:="=*" & nomPdt & "*"
End If
End With
End With
End Sub

2 réponses

ptitpanda Messages postés 65 Date d'inscription dimanche 5 août 2012 Statut Membre Dernière intervention 8 avril 2023 8
3 janv. 2021 à 10:45
Bonjour,

En tapant par exemple, ALB* dans ma fenêtre qui apparait je sélectionne tous les noms qui contiennent ces 3 lettres soit ALB, BLA, LBA 

Ca c'est déjà bizarre car avec ton critère de filtre il ne change pas l'ordre des lettres il devrait te filtrer tous les noms qui contiennent "ALB"

Pour ce que tu veux faire il suffit de modifier cette ligne:
.AutoFilter Field:=3, Criteria1:="=" & nomPdt & "*" 

Le fait d'enlever l'asterisque après le "=" suffit à filtrer toutes les données qui commencent par "ALB" par contre ce n'est pas la peine que tu mette l'"*" après ALD quand EXCEL te demande de choisir un nom car le code VBA met l'"*" tout seul (nomPdt & "*")

Bon dimanche
0
mchotard Messages postés 415 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 18 mars 2024 38
3 janv. 2021 à 12:10
Super ptitpanda, cela correspond tout à fait à ce que je souhaitais. Bon dimanche
0