Filtre avec critere variable Excel - VB/VBA/VBS - Programmation
Marsh Posté le 23-05-2006 à 23:26:33
Tu fais le travail manuellement avec l'interface d'Excel tout en ayant déclenché l'enregistreur de macro.
Ça te donnera déjà beaucoup d'éléments de syntaxe en regardant le code généré (accès en modif de la macro).
Marsh Posté le 24-05-2006 à 08:31:07
Merci beaucoup mais le problème est que je sais le faire avec un critére fixe mais pas en fonction de la valeur d'une cellule. J'ai essayé de bidouiller qqch mais vue mes faibles connaissances ca marche pas voici mon code.
Sub filtrer()
Sheets("Feuil2" ).Select
Selection.AutoFilter Field:=3, Criteria1:="'feuil1'!$a$1"
Sheets("Feuil1" ).Select
End Sub
Je souhaiterai connaitre le codage afin de filtrer en fonction de la valeur sde la cellule A1 de la feuil1.
En espérant avoir une réponse de votre part je vous remercie deja de votre aide.
Marsh Posté le 24-05-2006 à 10:03:35
Zeracam a écrit : Merci beaucoup mais le problème est que je sais le faire avec un critére fixe mais pas en fonction de la valeur d'une cellule. J'ai essayé de bidouiller qqch mais vue mes faibles connaissances ca marche pas voici mon code. Sub filtrer() Je souhaiterai connaitre le codage afin de filtrer en fonction de la valeur sde la cellule A1 de la feuil1. |
il faut que tu utilise un filtre elaborée.tu utilise ton enregistreur de macro,au lieu de prendre filtre auto tu va dans filtre elaborée,(place toi sur la feuille que tu veut filtré au depart)dans plages :selectionne tes données et dans criteres va chercher tes critere dans l'autre feuille.
moi g fait un code pour sa mais je filtre dans une autre feuille donc si tu veut faire sa je te le donne,je copie aussi la premiere ligne de mes donnée pour que la feuille de destination est les etiquette au sinon sa bug.
Sub filtreelaboré()
'**copie de la premiere ligne*****
Sheets("Feuil1" ).Select
Range("A1" ).EntireRow.Select
Selection.Copy
Sheets("Feuil2" ).Select
Range("A1" ).Select
ActiveSheet.Paste
'*********************************
'****filtre**********************
Sheets("Feuil1" ).Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
Sheets("Critères" ).Range("criteres" ), CopyToRange:=Sheets("Feuil2" ).Cells, Unique:=False
End Sub
Marsh Posté le 24-05-2006 à 10:54:47
Merci de l'aide mais je n'arrive pas à le faire.
Est ce qu'il n'ya pas un moyen de le faire avec un filtre automatique et d'affecter à criteria1 une cell?
Marsh Posté le 23-05-2006 à 20:39:20
Bonjour à tous!
Voila je vous expose mon probleme, , je suis débutant en vba et dans le cadre d'un stage je dois réaliser un filtre sous excel dont les critéres ne sont pas sur la meme feuille et sont variables car ils proviennent de formules.
En gros e souhaiterai avoir le code qui je pense ne soit pas trop difficile pour filtrer la colonne 3 de la feuil2 en fonction de ce qui est indiqué dans la case A1 de la feuil1.
En espérant trouver la solution à mon problème, je vous remercie bcp
@+