Voici comment j’ai remodifié le formulaire pour lier les trois combobox entre eux et utiliser le bouton recherche aussi:
Private Sub btnrechadh_Click()
ListBox1.Visible = True
End Sub
Private Sub cbonomclientret_Change()
ListBox1.Visible = False
If cbonomclientret <> « » Then
donnée = cbonomclientret
donnée2 = ComboBox1
donnée3 = ComboBox2
datedébut = « »
datefin = « »
If Me.txtdatedebrapadh <> « » And Me.TextBox1 <> « » Then
datedébut = Me.txtdatedebrapadh
datefin = Me.TextBox1
End If
If Sheets(« Filtre_adherent »).Range(« A2 ») <> « » Then
Sheets(« Filtre_adherent »).Range(« A2 », « J » & Sheets(« Filtre_adherent »).Range(« A65535 »).End(xlUp).Row).Clear
End If
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If datedébut <> « » And datefin <> « » And ComboBox1 = « » And ComboBox2 = « » Then
If Sheets(« adherent »).Range(« H » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And ComboBox1 <> « » And ComboBox2 = « » Then
If Sheets(« adherent »).Range(« H » & i) = donnée And Sheets(« adherent »).Range(« G » & i) = donnée2 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And ComboBox1 <> « » And ComboBox2 <> « » Then
If Sheets(« adherent »).Range(« H » & i) = donnée And Sheets(« adherent »).Range(« G » & i) = donnée2 And Sheets(« adherent »).Range(« D » & i) = donnée3 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
i = i + 1
Loop
Call userform_initialize
End If
End Sub
Private Sub ComboBox1_Change()
ListBox1.Visible = False
If ComboBox1 <> « » Then
donnée = ComboBox1
donnée2 = cbonomclientret
donnée3 = ComboBox2
datedébut = « »
datefin = « »
If Me.txtdatedebrapadh <> « » And Me.TextBox1 <> « » Then
datedébut = Me.txtdatedebrapadh
datefin = Me.TextBox1
End If
If Sheets(« Filtre_adherent »).Range(« A2 ») <> « » Then
Sheets(« Filtre_adherent »).Range(« A2 », « J » & Sheets(« Filtre_adherent »).Range(« A65535 »).End(xlUp).Row).Clear
End If
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If datedébut <> « » And datefin <> « » And cbonomclientret = « » And ComboBox2 = « » Then
If Sheets(« adherent »).Range(« G » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And cbonomclientret <> « » And ComboBox2 = « » Then
If Sheets(« adherent »).Range(« G » & i) = donnée And Sheets(« adherent »).Range(« H » & i) = donnée2 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And cbonomclientret <> « » And ComboBox2 <> « » Then
If Sheets(« adherent »).Range(« G » & i) = donnée And Sheets(« adherent »).Range(« H » & i) = donnée2 And Sheets(« adherent »).Range(« D » & i) = donnée3 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
i = i + 1
Loop
Call userform_initialize
End If
End Sub
Private Sub ComboBox2_Change()
ListBox1.Visible = False
If ComboBox2 <> « » Then
donnée = ComboBox2
donnée2 = cbonomclientret
donnée3 = ComboBox1
datedébut = « »
datefin = « »
If Me.txtdatedebrapadh <> « » And Me.TextBox1 <> « » Then
datedébut = Me.txtdatedebrapadh
datefin = Me.TextBox1
End If
If Sheets(« Filtre_adherent »).Range(« A2 ») <> « » Then
Sheets(« Filtre_adherent »).Range(« A2 », « J » & Sheets(« Filtre_adherent »).Range(« A65535 »).End(xlUp).Row).Clear
End If
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If datedébut <> « » And datefin <> « » And ComboBox1 = « » And cbonomclientret = « » Then
If Sheets(« adherent »).Range(« D » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And ComboBox1 = « » And cbonomclientret <> « » Then
If Sheets(« adherent »).Range(« D » & i) = donnée And Sheets(« adherent »).Range(« H » & i) = donnée2 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
If datedébut <> « » And datefin <> « » And ComboBox1 <> « » And cbonomclientret <> « » Then
If Sheets(« adherent »).Range(« D » & i) = donnée And Sheets(« adherent »).Range(« H » & i) = donnée2 And Sheets(« adherent »).Range(« G » & i) = donnée3 And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
End If
i = i + 1
Loop
Call userform_initialize
End If
End Sub
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub lblcollecrapadh_Click()
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub MultiPage1_Change()
End Sub
Private Sub TextBox1_Change()
ListBox1.Visible = False
If Me.txtdatedebrapadh <> « » And Me.TextBox1 <> « » Then
datedébut = Me.txtdatedebrapadh
datefin = Me.TextBox1
If Sheets(« Filtre_adherent »).Range(« A2 ») <> « » Then
Sheets(« Filtre_adherent »).Range(« A2 », « J » & Sheets(« Filtre_adherent »).Range(« A65535 »).End(xlUp).Row).Clear
End If
If cbonomclientret = « » And ComboBox1 = « » And ComboBox2 = « » Then
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
Else
If cbonomclientret <> « » And ComboBox1 = « » And ComboBox2 = « » Then
donnée = cbonomclientret
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« H » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
If cbonomclientret = « » And ComboBox1 <> « » And ComboBox2 = « » Then
donnée = ComboBox1
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« G » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
If cbonomclientret = « » And ComboBox1 = « » And ComboBox2 <> « » Then
donnée = ComboBox2
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« D » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
End If
Call userform_initialize
End If
End Sub
Private Sub txtdatedebrapadh_Change()
If Me.txtdatedebrapadh <> « » And Me.TextBox1 <> « » Then
datedébut = Me.txtdatedebrapadh
datefin = Me.TextBox1
If Sheets(« Filtre_adherent »).Range(« A2 ») <> « » Then
Sheets(« Filtre_adherent »).Range(« A2 », « J » & Sheets(« Filtre_adherent »).Range(« A65535 »).End(xlUp).Row).Clear
End If
If cbonomclientret = « » And ComboBox1 = « » And ComboBox2 = « » Then
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
Else
If cbonomclientret <> « » And ComboBox1 = « » And ComboBox2 = « » Then
donnée = cbonomclientret
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« H » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
If cbonomclientret = « » And ComboBox1 <> « » And ComboBox2 = « » Then
donnée = ComboBox1
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« G » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
If cbonomclientret = « » And ComboBox1 = « » And ComboBox2 <> « » Then
donnée = ComboBox2
ligne = 2
i = 2
Do While i < Sheets(« adherent »).Range(« A65535 »).End(xlUp).Row + 1
If Sheets(« adherent »).Range(« D » & i) = donnée And CDate(Sheets(« adherent »).Range(« E » & i)) >= datedébut And CDate(Sheets(« adherent »).Range(« E » & i)) <= datefin Then
Sheets(« Filtre_adherent »).Range(« A » & ligne, « J » & ligne).Value = Sheets(« adherent »).Range(« A » & i, « J » & i).Value
ligne = ligne + 1
End If
i = i + 1
Loop
End If
End If
Call userform_initialize
End If
End Sub
Private Sub userform_initialize()
Application.Wait (Now + TimeValue(« 0:00:01 »))
End Sub