macro recherche multiple

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

splitter77

XLDnaute Nouveau
Bonjour,
je cherche a faire une macro qui recherche dans un fichier excel de donnés a partir d'une liste de code et qui me copie la ligne complete qui contient ce code, je m explique :

j ai une feuille avec dans la colonne A une liste de code barre
9782700721065
9782804147075
9782703302735
9782703301714
9782703302186
9782703300601
9782703300816

et un fichier source avec une colonne A avec des codes barre B une ref etc etc
A b c d e
9782703301585 MEMENTO PRAT.POUR CONNAITRE LES HUMAINS 3 99 ARTICLE EN FIN DE GESTION

je voudrais que ma macro cherche le premier code barre de la liste dans le fichier source et me copie tout la ligne dans une autre feuille .

je ne suis pas expert en vba et j aurais besoin d'aide .

merci d'avance
 
Re : macro recherche multiple

Bonsoir splitter77 et bienvenu 🙂

Pour augmenter vos chances de réponse, il est fortement recommandé de fournir un fichier exemple:
  • Non pas un fichier complet mais un "petit" fichier extrait de votre fichier de travail en ne conservant que quelques lignes par feuille.
  • Fichier expurgé de toutes données nominatives et confidentielles.
  • Avec une feuille montrant le résultat souhaité et avec les explications qui vont bien.


Pour joindre un fichier:
Quand vous rédigez un nouveau message ou quand vous modifiez un de vos messages, passez en mode avancé et cliquez sur 'Gérer les pièces jointes' ou bien cliquez directement sur l'icone 'Trombone'.
Choisissez vos fichiers (boutons Choisir un fichier), cliquez sur envoyer (bouton envoyer) pour les charger, quand ils sont chargés (les noms des fichiers s'affichent en couleur) refermez la fenêtre (bouton Fermer cette fenêtre) puis cliquez sur 'envoyez...' ou 'enregistrer les changements'.

@+
 
Re : macro recherche multiple

(re)Bonsoir splitter77,

Voir un essai dans le fichier joint.

VB:
Sub RechercherCopier()
Dim Quoichercher As Range, ChercherDans As Range
Dim xCell As Range, xTrouve As Range, i As Long

With Sheets("requete")
  Set Quoichercher = .Range("a" & Rows.Count).End(xlUp)
  Set Quoichercher = .Range(.Range("a1"), Quoichercher)
End With

With Sheets("source")
  Set ChercherDans = .Range("a" & Rows.Count).End(xlUp)
  Set ChercherDans = .Range(.Range("a1"), ChercherDans)
End With

With Sheets("resultat")
  .Range("a1").CurrentRegion.Clear
  For Each xCell In Quoichercher
    Set xTrouve = Nothing
    Set xTrouve = ChercherDans.Find(xCell.Value, _
      LookIn:=xlValues, lookat:=xlWhole)
    If Not xTrouve Is Nothing Then
      i = i + 1
      xTrouve.EntireRow.Copy .Rows(i)
    End If
  Next xCell
End With
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
19
Affichages
626
Réponses
20
Affichages
368
  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
145
Réponses
6
Affichages
248
Réponses
12
Affichages
472
Retour