Je n'ai pas réussi à trouver la réponse à mon problème :
J'ai 3 onglets : Base / Critères / Résultats
J'aimerais avec un code VBA extraire une liste de données présente dans l'onglet "Base" en fonction d'une liste de critères qui se trouve dans l'onglet "Critères" et inscrire les lignes correspondantes dans l'onglet "Résultats"
Je n'arrive pas à trouver un code efficace, voir en Pièce jointe le fichier d'exemple ce sera plus parlant
Re : VBA Extraire données en fonction d'une liste critères dans autre onglet
Bonsoir incubus20851,
A première vue, rien ne devrait t'empêcher d'utiliser l'enregistreur de macro (si tu as besoin d'une macro) en utilisant un "Filtre avancé" ... ce qui devrait te donner quelque chose comme:
VB:
Sub Macro1()
Sheets("Base").Range("B1:I16").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Critères").Range("B15:B20"), CopyToRange:=Sheets("Résultats").Range("B1:E1"), Unique:=False
End Sub
Partant de là, quelques adaptations devraient suffire!?
Re : VBA Extraire données en fonction d'une liste critères dans autre onglet
Merci pour ta réponse Modeste mais quand je lance la macro rien ne se passe...
Je suis un novice en VBA du coup je ne sais pas comment je pourrais modifier le code pour que cela fonctionne
Re : VBA Extraire données en fonction d'une liste critères dans autre onglet
Bonjour incubus,
Tu auras noté que je t'invitais à appliquer un filtre avancé, en utilisant l'enregistreur de macro. De cette manière, tu aurais certainement constaté la présence d'un problème.
Pour que le filtre avancé fonctionne (et a fortiori la macro), il faut que dans la feuille "Critères" le titre de la colonne sur laquelle doit s'appliquer le critère soit recopié à l'identique. En cellule B15 de la feuille Critères, tu dois donc saisir le texte "Codes chaussures"!