Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Filtres élaborés sur des combobox

7 réponses
Avatar
Maud
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:=False

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)

7 réponses

Avatar
Maud
j'ai oublié de précisé ca coince sur :

Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse


merci beaucoup


Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)


Avatar
michdenis
Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)
Avatar
Maud
Bonjour Michdenis,
a1 est bien totalement vide
parcontre je crois que je me suis trompée: la plage qui est a filtrer
source_liste est sur la feuille projets et je met le contenu de mon filtre
sur le feuille FiltreProjet
j'ai donc fait:

Sheets("projets").Activate
Sheets("projets").Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy,
CriteriaRange:=Sheets("FiltreProjet").Range("A1:A2"), _
CopyToRange:=Sheets("FiltreProjet").Range("A4"), Unique:úlse
mais ca marche pô!!
est-ce que je me trompe d'argument?
merci beaucoup


Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)





Avatar
Maud
j'ai peut être une idée:
met différent filtre sont les différentes colonnes de ma listbox. Peut-être
qu'il fait un filtre sur quelque chose qui n'existe pas vraiment. il cherche
un critère dans une zone où il est inexistant en fait! Est-ce que cela est-il
possible??
merci beaucoup de prendre de votre temps sur mon pb!!!
:-D


Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)





Avatar
michdenis
Bonjour Maud,

Tu peux m'envoyer ton fichier dans ma BAL avec une petite note d'explication.
Je n'ai pas besoin de tout le classeur ... seulement la ou les feuilles qui concernent ce problème !

J'y regarderai de plus près !


Salutations!



"Maud" a écrit dans le message de news:
j'ai peut être une idée:
met différent filtre sont les différentes colonnes de ma listbox. Peut-être
qu'il fait un filtre sur quelque chose qui n'existe pas vraiment. il cherche
un critère dans une zone où il est inexistant en fait! Est-ce que cela est-il
possible??
merci beaucoup de prendre de votre temps sur mon pb!!!
:-D


Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)





Avatar
Maud
Bonjour Michdenis
merci de votre aide, je vous ai envoyé le fichier.


Bonjour Maud,

Tu peux m'envoyer ton fichier dans ma BAL avec une petite note d'explication.
Je n'ai pas besoin de tout le classeur ... seulement la ou les feuilles qui concernent ce problème !

J'y regarderai de plus près !


Salutations!



"Maud" a écrit dans le message de news:
j'ai peut être une idée:
met différent filtre sont les différentes colonnes de ma listbox. Peut-être
qu'il fait un filtre sur quelque chose qui n'existe pas vraiment. il cherche
un critère dans une zone où il est inexistant en fait! Est-ce que cela est-il
possible??
merci beaucoup de prendre de votre temps sur mon pb!!!
:-D


Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)










Avatar
michdenis
Bonjour Maud,

Fichier retourné avec un ébauche de solution. Voir explications dans le fichier.


Salutations!



"Maud" a écrit dans le message de news:
Bonjour Michdenis
merci de votre aide, je vous ai envoyé le fichier.


Bonjour Maud,

Tu peux m'envoyer ton fichier dans ma BAL avec une petite note d'explication.
Je n'ai pas besoin de tout le classeur ... seulement la ou les feuilles qui concernent ce problème !

J'y regarderai de plus près !


Salutations!



"Maud" a écrit dans le message de news:
j'ai peut être une idée:
met différent filtre sont les différentes colonnes de ma listbox. Peut-être
qu'il fait un filtre sur quelque chose qui n'existe pas vraiment. il cherche
un critère dans une zone où il est inexistant en fait! Est-ce que cela est-il
possible??
merci beaucoup de prendre de votre temps sur mon pb!!!
:-D


Bonjour Maud,

Utilise plutôt cette syntaxe:

A ) ta zone de critère A1:A2
si tu as une formule en A2, laisse totalement vide A1

B ) La zone où tu copies tes données : Range("A4:K4")
est-elle le même nombre de champ que sur la plage filtrée ?
J'ai modifié... je n'ai mis qu'une cellule à partir de laquelle la copie va se faire

C ) Si ta zone de critère ou la plage de destination se situe dans une autre
feuille assure-toi que tu fais une référence complète au objet dans
ton filtre .

With Sheets("FiltreProjet")
.Activate
.Range("source_liste").AdvancedFilter _
Action:=xlFilterCopy, CriteriaRange:=.Range("A1:A2"), _
CopyToRange:=.Range("A4"), Unique:úlse
End With


Salutations!




"Maud" a écrit dans le message de news:
Bonjour à tous
je me suis inspirée d'un filtre sur le site d'excelabo pour mon programme.
cependant je coince et je ne comprends pas pourquoi! Pouvez vous m'aidez??
Voici mon programme


Private Sub CommandButton3_click()
Dim liste_active As String
Dim Critere As String
Dim listeActive As String
Dim type_activité As String
Dim dde_évol As String
Dim proba As String
Dim cricité As String
Dim priorité As String
Dim mois As String

If ComboBox3.ListIndex <> -1 Then
listeActive = ComboBox3.Value
Critere = Critere & "(projets!G3=""" & listeActive & """)*"
End If
If ComboBox5.ListIndex <> -1 Then
type_activité = ComboBox5.Value
Critere = Critere & "(projets!I3=""" & type_activité & """)*"
End If
If ComboBox6.ListIndex <> -1 Then
dde_évol = ComboBox6.Value
Critere = Critere & "(projets!J3=""" & dde_évol & """)*"
End If
If ComboBox8.ListIndex <> -1 Then
cricité = ComboBox8.Value
Critere = Critere & "(projets!L3=""" & cricité & """)*"
End If
If ComboBox9.ListIndex <> -1 Then
priorité = ComboBox9.Value
Critere = Critere & "(projets!M3=""" & priorité & """)*"
End If
If ComboBox10.ListIndex <> -1 Then
proba = ComboBox10.Value
Critere = Critere & "(projets!K3=""" & proba & """)*"
End If
If TextBox1.Value <> "" Then
mois = TextBox1.Value
Critere = Critere & "(projets!H3=""" & mois & """)*"
End If

Critere = "=" & Critere & "1"
Sheets("FiltreProjet").Range("A2").Value = Critere

Sheets("FiltreProjet").Activate
Range("source_liste").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A2"), CopyToRange:=Range("A4:K4"), Unique:úlse

'Si aucune recette ne correspond aux critères
If Range("FiltreProjet!B5").Value = "" Then
MsgBox ("Aucun projet ne répond à tous vos critères")

ElseIf Range("FiltreProjet!B6").Value <> "" Then
ActiveWorkbook.Names.Add Name:="FichesFiltrées", RefersToR1C1:= _
"=OFFSET(FiltreProjet!R5C2,,,COUNTA(FiltreProjet!C2)-1)"
Unload UserForm1
UsfSelect2.Show

End If
End Sub

merci d'avance!! ;-)