Macro pour rechercher et copier dans autre classeur

Bonjour,

Cela Fait une semaine que je cherche et essaye de combiner plusieurs macro pour obtenir ce que je veux, et étant débutant en écriture de macro (je sais écrire un copier coller sur une autre feuille et également trier),et c'est tout.

ce que je cherche a faire c'est de chercher sur une tableau pouvant aller jusqu'a 3000 lignes un code dans une colonne et de copier la ligne qui contient de code dans la feuil2. bien entendu il peut y avoir plusieurs fois la présence de ce code et je souhaite que ces lignes soit copier dans la feuil2.

Sur cette feuil2 est présent une case dans laquelle est saisie le code a rechercher et lorsque qu'un code est rentré le but est de chercher dans la base de données et de copier les lignes ayant ce code dans la feuil2.

Merci de me donner des pistes à mon problème car je galère bien.

Bonjour,

Tu as oublier de joindre le fichier

Amicalement

Claude

Bonsoir

Une piste :Find (regardes dans l'aide d'excel)

Mais le mieux

Bonne soirée

voila le type de fichier.

merci de l'intérêt porté a ma requete

307fichier-exemple.xlsx (30.73 Ko)

Bonsoir

Un essai avec Find

Ouaaa!

géniale jai cependant 2 question,

  • la première étant donné que le nombre de code différents sera assez imorptant, plus de 300, serait-il possible de taper le code au lieu de le selectionner dans la liste déroulante car je vois en plus que dans la liste que les code s'affiche plusieurs fois.
  • la deuxième concerne le code lui même pourrai tu m'expliquer les grande lignes de ce code? pour que je comprenne un peu, de plus

Merci de cette réactivité et de ton partage de savoir faire.

Bonjour

Pour question 1 : Supprimes la liste de validation dans la case

Pour question 2 : Des explications dans le code de la macro

Encore une question bete et demain je me lance dans la création de mon fichier

comment modifie ton la base se données de recherches car j'ai bau regarder dans le code je ne vois nul part la plage de données selectionner pour faire la recherche.

encore merci!!!!

Bonjour

La plage sélectionnée est la colonne B

    ' On va "travailler avec la feuille "BASE DE DONNEES"
    With Sheets("BASE DE DONNEES")
    ' Recherche dans la colonne B (2) la valeur de la cellule modifiée (D3)
      Set Cel = .Columns(2).Find(what:=Target, LookIn:=xlValues, lookat:=xlWhole)
' etc ....

Bonjour à tous,

Solution Filtre

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Range("d3")) Is Nothing Then
        If Target.Count > 1 Then Exit Sub
        With Sheets("BASE DE DONNEES")
            .Range("b4:h" & .[b65000].End(xlUp).Row) _
            .AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
            Range("d2:d3"), CopyToRange:=Range("e5:k5"), Unique:=False
        End With
    End If
End Sub

Bonne journée

Claude

289ilou09-filtre.xlsm (20.33 Ko)

Bonjour,

super la liste qui comprend qu'une seule fois le code.

j'ai éssayé de rajouter des lignes à la base de données, j'ai été jusqu'a 2000 lignes et sa met pas mal de temps avant de tt annalyser. je ne sais pas si on acceler la rechercher ou bien mettre un sorte d'indication de l'etat de la recherche (20 30%).

en analysant mes données je suis tombé sur une tuile en effet certaine code sont AV01 et il peuvent apparetre dans ma base de données sous le nom de AV01 SP ou AVOA1 1 et donc ceux ci ne sont pas pris en compte. comment puis je faire.

merci d'avance


bonjour

Génial le filtre, en plus rapide lorsqu'il ya plusieurs lignes.

j'ai cependant déselé un petit pb qui dans ma base de données , par exemple mon code AV01 peut être présent sous la forme AV01, mais aussi AVO1 sp ou AVO1 1. ce code est donc suivit d'un espace et d'une lettre ou chiffre. comment puis je faire pour qu'il es t prenne en compte.

re,

On peut supprimer la liste Validation et écrire le code en partie,

si tu tape "ab" çà sortira tous les "AB...." etc...

Faudrait voir sur un fichier + complet, il y a peut-être moyen d'optimiser

Claude

Rechercher des sujets similaires à "macro rechercher copier classeur"