Macro copier coller dans un filtre

Résolu
wanajo38 Messages postés 149 Statut Membre -  
Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai créé une base de données de 24000 lignes environ sur Excel 2007 où j'ai classé des contacts clients avec le nom adresse téléphone etc...

Pour rendre l'appli plus conviviale, j'essaye de faire quelque chose qui ressemble à un formulaire de recherche. J'ai créé une cellule ou l'utilisateur doit saisir quelques lettres du nom qu'il recherche par exemple et je voudrais copier cette cellule dans le filtre "contient" afin qu'excel me renvoie toutes les lignes qui contiennent ces lettres. Bon c'est vrai qu'un clic droit sur le filtre et clique gauche sur contient c'est aussi rapide... mais bon, si quelqu'un peut m'aider, ce serait très sympa.

En fait j'ai créé une macro avec l'assistant, elle fait exactement ce que je veux sauf que pour l'exemple j'ai tapé "cha" et du coup dans la macro, il fait toujours référénce à "cha" au lieu de faire référence à la cellule. Ca doit pas être bien compliqué mais je début en vba et malgré le gros bouquin, j'y comprends rien ! Il va falloir que je prenne quelques cours, c'est sûr.

Merci d'avance à ceux qui auront un peu de courage en ce début de week-end.

Je note ma macro (qui ne fonctionnne pas, au cas où)
---------------------------------------------------------------------------------------------------------
Sub RECHNOM()
'
' RECHNOM Macro
'

'
Selection.Copy
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=4, Criteria1:= _
"=*cha*", Operator:=xlAnd
End Sub
---------------------------------------------------------------------------------------------------------

Merci
--
Wanajo38

5 réponses

  1. Mytå Messages postés 4246 Date d'inscription   Statut Contributeur Dernière intervention   957
     
    Salut le forum

    Regarde le fichier suivant : Filtre élaboré.xls

    Tiré de la ficelle : Macro avec filtre élaboré

    Mytå
    0
  2. wanajo38 Messages postés 149 Statut Membre 62
     
    Bonjour,

    Merci pour ta réponse rapide mais elle ne correspond pas réellement à ce que je recherche? Je vais essayer quand même de l'adapter à mon fichier mais je ne suis pas sur que ça fonctionne.

    Je ne veux pas que ça copie les données ailleurs, je veux juste que ça filtre les données qui sont dans un tableau juste en dessous. Je veux que la macro sélectionne ce que l'utilisateur recherche et qu'elle applique le filtre qui convient.

    Merci
    0
  3. wanajo38 Messages postés 149 Statut Membre 62
     
    Plusieurs questions suite à l'essai avec ta solution.

    - Comment l'affecter à un bouton ou lieu de mettre la macro dans le code de la feuille ?
    - Pourquoi quand je recherche "cha", il ne trouve pas "Mr CHANAL" (à cause du Mr ???), comment faire ?
    - Chez moi, pour que ça marche, je suis obligé de réinitialiser la macro dans visual basic à chaque fois, ça ne recommence pas à 0 tout seul ?

    Sinon, ça me semble pas mal du tout, même si ça n'était pas mon idée de départ.

    Merci en tout cas.
    0
  4. wanajo38 Messages postés 149 Statut Membre 62
     
    Alors, voici la macro, affectée à un bouton :

    ------------------------------------------------------------
    Sub Macro6()
    '
    ' Macro6 Macro
    '
    Dim rngDonnees As Range
    Dim rngCritere As Range

    Worksheets("Résultat").Cells.Clear
    Set rngDonnees = Worksheets("Données").Range("a1").CurrentRegion
    Set rngCritere = Worksheets("Critères").Range("a1").CurrentRegion
    rngDonnees.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rngCritere, Unique:=False
    rngDonnees.Copy Destination:=Worksheets("Résultat").Range("a1")
    If Worksheets("Données").FilterMode Then Worksheets("Données").ShowAllData
    Worksheets("Résultat").Activate

    End Sub
    --------------------------------------------------------------

    J'ai mis une étoile devant ce que je recherche et maintenant il trouve CHANAL si je tape "cha".

    Par contre, je suis toujours obligé de réinitialiser la macro par VB, c'est pas pratique.

    Merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question