Code Filtre à 3 critères

  • Initiateur de la discussion Initiateur de la discussion DFATPUNK
  • Date de début Date de début

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 !

DFATPUNK

XLDnaute Nouveau
Bonjour à tous,

Je suis un débutant en VBA et après deux jours de recherches, je n'arrive pas à écrire un code correct.

J'ai un classeur excel dans lequel se trouve 4 feuilles. La première feuille nommée "données" contient des filtres sur la ligne 1. Toutes les lignes commencent à la colonne A et se terminent à la colonne CN.

La colonne B a pour filtre "stades de négociation" dans lequel se trouve 6 stades.
Je dois créer un module me permettant de sélectionner les lignes répondant aux 3 derniers stades à savoir:

6-bail signé​
5-négociation du bail​
4-offre locative reçue​

Voici mon code:

Sub Macro1()
'
' Macro1 Macro
'

'
With Sheets("données")

.AutoFilterMode = False

.Range("A1:CN1").AutoFilter

.Range("A1:CN1").AutoFilter Field:=2, Criteria1:="6-bail signé"

End With

With Sheets("données")

.AutoFilterMode = False

.Range("A1:CN1").AutoFilter

.Range("A1:CN1").AutoFilter Field:=2, Criteria1:="5-négociation du bail"

End With

With Sheets("données")

.AutoFilterMode = False

.Range("A1:CN1").AutoFilter

.Range("A1:CN1").AutoFilter Field:=2, Criteria1:="4-offre locative reçue"

End With

End Sub

Je n'ai aucun message d'erreur mais seul le stade 4 s'affiche dans ma feuille "données".

Est-ce que quelqu'un saurait corriger mon code afin que sur ma feuille "données" apparaissent les stades 6, 5 et 4 (si possible dans cet ordre)?

Il faudra ensuite que cette plage de données filtrées apparaissent automatiquement dans la feuille 3 mais chaque chose en son temps 🙂

Merci d'avance!
 
Re : Code Filtre à 3 critères

J'ai trouvé!

Sub Macro1()
'
' Macro1 Macro
'

'
With Sheets("données")

.AutoFilterMode = False

.Range("A1:CN1").AutoFilter

.Range("A1:CN1").AutoFilter Field:=2, Criteria1:=Array("6-bail signé", "5-négociation du bail", "4-offre locative reçue"), Operator:=xlFilterValues

End With

End Sub

Quelqu'un saurait m'expliquer comment copier le résultat du filtre qui apparaît sur ma feuille "données" et le coller sur une autre feuille du même classeur?

Merci d'avance.
 
Re : Code Filtre à 3 critères

Bonjour DFATPUNK,

Un filtre élaboré (sur plusieurs critères, c'est possible ! 😀) aurait pu répondre à ton interrogation sans VBA.
Joindre un fichier "light" exemple pour te montrer...

Tu pourras recourir à cette méthode pour ensuite faire ton code VBA.

A+
 
Dernière édition:
Re : Code Filtre à 3 critères

Bonjour ralph45,

Merci pour cette réponse rapide, c'est très sympa.

Il me semblait qu'un code VBA était indispensable car je vais être amener à mettre à jour le fichier excel et notamment ajouter des lignes dans les stades que je souhaite obtenir après avoir filtré ma feuille "données".

Voici le fichier très light et protégé d'un mot de passe car il est à usage professionnel (désolé pour toutes ces précautions mais je n'ai pas le choix malheureusement).

Encore merci.
 

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
18
Affichages
861
  • Question Question
XL 2021 listbox
Réponses
18
Affichages
502
Réponses
8
Affichages
529
Réponses
12
Affichages
1 K
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
7
Affichages
286
Réponses
3
Affichages
353
Retour