Suivant ta question, il sembletait que le 2èm fichier n'est pas nécessaire.
Doudi a écrit :
C'est là que je fais face à un problème sur lequel je m'arrache les cheveux depuis maintenant plusieurs jours. Je n'arrive pas à faire en sorte que mon filtre applique un "ou" logique entre les différents critères que sont les codes postaux,
Il est vrai qu'avec Excel =>2007 les filtres avec plus de 2 critères ne sont pas évident, il faut initialiser un "Array", je ne suis pas parvenu à déterminer un "array dynamique" j'ai employé un Select Case pour y remédier, si un aure intervenant à une solution plus simple..
Pour essayer tu met un nouveau Userform avec un TextBox1 et 2 boutons
Option Explicit
Dim TB
Dim NbFiltre As Integer
Private Sub CommandButton2_Click()
'Réinitialise le tableau
ReDim TB(0)
NbFiltre = 0
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
NbFiltre = NbFiltre + 1
ReDim Preserve TB(NbFiltre)
TB(NbFiltre) = TextBox1.Text
TextBox1 = ""
TextBox1.SetFocus
End If
End Sub
Private Sub CommandButton1_Click()
'Bouton envoyer filtre
Dim T, i As Integer
Select Case NbFiltre
Case 1: T = Array(TB(1))
Case 2: T = Array(TB(1), TB(2))
Case 3: T = Array(TB(1), TB(2), TB(3))
Case 4: T = Array(TB(1), TB(2), TB(3), TB(4))
Case 5: T = Array(TB(1), TB(2), TB(3), TB(4), TB(5))
Case Else
MsgBox "maximum 5 filtres"
Exit Sub
End Select
ActiveSheet.Range("$A$2:$T$130").AutoFilter
ActiveSheet.Range("$A$2:$T$130").AutoFilter Field:=9, Criteria1:=T, Operator:=xlFilterValues
End Sub
Private Sub UserForm_Initialize()
ReDim TB(0)
NbFiltre = 0
CommandButton1.TabStop = False
CommandButton2.TabStop = False
End Sub
Tu peu entrer entre 1 et 5 filtres (si plus faut modifier le select)
Dans le texte entre un filtre.. EXEMPLE : 75000 et taper ENTER, ... 75002 et ENTER etc jusque 5
J'ai mis un TextBox mais c'et juste pour le test, tu peur remplacer par les critères qui proviennent de l'autre classeur.
A+