Filtre Avancé (Par Macro) ne fonctionne plus sous excel 2007

Le
Sagace
Bonjour à tous !

J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
version 2007 !

Cette macro :
-
Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= _
False
End Sub
-

lancée depuis un bouton sur une feuille "Filtre" pour récupérer le résultat
du filtrage sur une feuille "BDD", fonctionne parfaitement sous Excel 2003,
ne fonctionne plus sous Excel 2007 !!!

Si quelqu'un a une idée de la cause du problème, je lui en serais
étenellement reconnaissant :o))

Merci d'avance

Serge
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #6768001
Je ne connais pas cette version...
| J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
| version 2007 !
***mais tu n'es pas seul dans ce cas ;-)))

Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= False
End Sub

Devant chacune de ces plages, inscrit la feuille où elles sont situées

CriteriaRange:=Worksheets("NomDeLaFeuille").Range("A1:D3"), _
CopyToRange:=Worksheets("NomDeLaFeuille").Range("A11:S11")

ET hot le problème est résolu !





"Sagace" Bonjour à tous !

J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
version 2007 !

Cette macro :
----------------------------------------------------------------------------------------------------
Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= _
False
End Sub
----------------------------------------------------------------------------------------------------

lancée depuis un bouton sur une feuille "Filtre" pour récupérer le résultat
du filtrage sur une feuille "BDD", fonctionne parfaitement sous Excel 2003,
ne fonctionne plus sous Excel 2007 !!!

Si quelqu'un a une idée de la cause du problème, je lui en serais
étenellement reconnaissant :o))

Merci d'avance

Serge
Sagace
Le #6769901
Merci pour ta proposition, mais ça ne marche pas !

Quand je te dis que j'ai du mal avec 2007 ....

:o))

Serge

"MichDenis" %
Je ne connais pas cette version...
| J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
| version 2007 !
***mais tu n'es pas seul dans ce cas ;-)))

Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= False
End Sub

Devant chacune de ces plages, inscrit la feuille où elles sont situées

CriteriaRange:=Worksheets("NomDeLaFeuille").Range("A1:D3"), _
CopyToRange:=Worksheets("NomDeLaFeuille").Range("A11:S11")

ET hot le problème est résolu !





"Sagace"
Bonjour à tous !

J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
version 2007 !

Cette macro :
----------------------------------------------------------------------------------------------------
Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= _
False
End Sub
----------------------------------------------------------------------------------------------------

lancée depuis un bouton sur une feuille "Filtre" pour récupérer le
résultat
du filtrage sur une feuille "BDD", fonctionne parfaitement sous Excel
2003,
ne fonctionne plus sous Excel 2007 !!!

Si quelqu'un a une idée de la cause du problème, je lui en serais
étenellement reconnaissant :o))

Merci d'avance

Serge





MichDenis
Le #6769871
Je ne te crois pas ...

o))


"Sagace" Merci pour ta proposition, mais ça ne marche pas !

Quand je te dis que j'ai du mal avec 2007 ....

:o))

Serge

"MichDenis" %
Je ne connais pas cette version...
| J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
| version 2007 !
***mais tu n'es pas seul dans ce cas ;-)))

Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= False
End Sub

Devant chacune de ces plages, inscrit la feuille où elles sont situées

CriteriaRange:=Worksheets("NomDeLaFeuille").Range("A1:D3"), _
CopyToRange:=Worksheets("NomDeLaFeuille").Range("A11:S11")

ET hot le problème est résolu !





"Sagace"
Bonjour à tous !

J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
version 2007 !

Cette macro :
----------------------------------------------------------------------------------------------------
Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= _
False
End Sub
----------------------------------------------------------------------------------------------------

lancée depuis un bouton sur une feuille "Filtre" pour récupérer le
résultat
du filtrage sur une feuille "BDD", fonctionne parfaitement sous Excel
2003,
ne fonctionne plus sous Excel 2007 !!!

Si quelqu'un a une idée de la cause du problème, je lui en serais
étenellement reconnaissant :o))

Merci d'avance

Serge





Fredo P
Le #6779381

Quand je te dis que j'ai du mal avec 2007 ....
J' ai Xl97 toujours sous la main en + de 2007

:o))

essaye de renseigner la feuille avant tout les "Range"

Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy,
_
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= False
End Sub

Devant chacune de ces plages, inscrit la feuille où elles sont situées

CriteriaRange:=Worksheets("NomDeLaFeuille").Range("A1:D3"), _
CopyToRange:=Worksheets("NomDeLaFeuille").Range("A11:S11")

ET hot le problème est résolu !





"Sagace"
Bonjour à tous !

J'ai décidemment du mal avec le passage d'excel de la version 2003 à la
version 2007 !

Cette macro :
----------------------------------------------------------------------------------------------------
Sub FiltreAvance()
Sheets("BDD").Range("A3:V25000").AdvancedFilter Action:=xlFilterCopy,
_
CriteriaRange:=Range("A1:D3"), CopyToRange:=Range("A11:S11"),
Unique:= _
False
End Sub
----------------------------------------------------------------------------------------------------

lancée depuis un bouton sur une feuille "Filtre" pour récupérer le
résultat
du filtrage sur une feuille "BDD", fonctionne parfaitement sous Excel
2003,
ne fonctionne plus sous Excel 2007 !!!

Si quelqu'un a une idée de la cause du problème, je lui en serais
étenellement reconnaissant :o))

Merci d'avance

Serge









julienL
Le #6783101
Bonjour,

Je viens d'avoir le même problème... la fonction filtre avancée lanc ée
par une macro ne marchait plus sous excel 2007.

En fait, la fonction AdvancedFilter lors de l'exécution par une macro
prend en compte le format de nombre avec le point et non avec la
virgule...
Il suffit donc de remplacer la virgule par un point et
"normalement"... ça marche

En espérant que cela puisse résoudre ton problème

Salutations

julien
Sagace
Le #6784321
Bonsoir,

Merci pour ton intervention.

Tu m'a permis de trouver la cause même si mon problème ne vient pas du point
décimal.

En effet mon problème vient des dates. Ma macro filtre une colonne date ....
au format Français .... tout comme ton prblème venais du format français du
séparateur décimal ... la virgule !!!

Donc il semblerait qula version française d'excel 2007 renue avec ses vieux
démons des formats numériques anglo-saxons...

Espérons qu'ils corrigeront le problème avant la version .... 2012 ...!

M'enfin maintenant que nous connaissons la cause ... il ne nous reste plus
qu'à trouver .... la solution ... en modifiant notre code !!!

Merci encore

Serge

"julienL"
Bonjour,

Je viens d'avoir le même problème... la fonction filtre avancée lancée
par une macro ne marchait plus sous excel 2007.

En fait, la fonction AdvancedFilter lors de l'exécution par une macro
prend en compte le format de nombre avec le point et non avec la
virgule...
Il suffit donc de remplacer la virgule par un point et
"normalement"... ça marche

En espérant que cela puisse résoudre ton problème

Salutations

julien
Publicité
Poster une réponse
Anonyme