Filtre élaboré sous Excel 2007, critère
Le Pingou
Messages postés
12720
Date d'inscription
Statut
Contributeur
Dernière intervention
-
kat95 -
kat95 -
Bonjour,
Mon filtre élaboré dans une procédure fonctionne correctement sous Excel 2003:
Range("Global!Base_de_donnees").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("LiBasePlaq!Criteres"), CopyToRange:=Range("LiBasePlaq!Extraire"), _Unique:=False
Mais plus sous Excel 2007 au niveau du critère.
Pour par exemple critère : 123 ou 12.10.2007 tout fonctionne
Pour critère : >123 ou <>12.10.2007 (càd avec les opérateurs) j’obtiens aucune valeurs….
Le critère se trouve dans une cellule de la plage « LiBasePlaq!Criteres »
Merci de votre aide.
Mon filtre élaboré dans une procédure fonctionne correctement sous Excel 2003:
Range("Global!Base_de_donnees").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("LiBasePlaq!Criteres"), CopyToRange:=Range("LiBasePlaq!Extraire"), _Unique:=False
Mais plus sous Excel 2007 au niveau du critère.
Pour par exemple critère : 123 ou 12.10.2007 tout fonctionne
Pour critère : >123 ou <>12.10.2007 (càd avec les opérateurs) j’obtiens aucune valeurs….
Le critère se trouve dans une cellule de la plage « LiBasePlaq!Criteres »
Merci de votre aide.
A voir également:
- Filtre élaboré sous Excel 2007, critère
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Save as pdf office 2007 - Télécharger - Bureautique
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
7 réponses
Bonjour, je pense avoir trouvé une solution, j'imagine que c'est un bug pour la version 2007... mais je ne parle que pour la date...
en fait le format de la cellule est bien une date type 12/02/2007.
dans la zone de critère, pour effectuer le filtre avancé, il faut bien saisir >12/02/2007 en temps normal et sur les versions antérieures !
sauf que : avant d'indiquer le signe '>' ou un autre signe, il faut transformer le format de la cellule en format standard, mais que dans la zone de critère. il s'affichera donc à la place de 12/02/2007 = 37663 (ce chiffre étant la codification d'excel pour repérer une date à partir de l'année 1900).
une fois le changement de format de cellule effecuté, on rajoute le signe dont on a besoin > ou < ou <> ou <= ou >=. on obtient donc dans la cellule >37663.
a partir de là, on peut lancer le filtre avancé et ça fonctionne... et sans modif de macro ou autre... !!
par contre, pour afficher toutes les lignes correspondantes au 12/07/2007, il n'y a rien besoin de faire, ça fonctionne nikel...
par contre, lorsqu'on utilise les fonctions de calculs =bdsomme(base;champs;zonecritère), la création de la zone de critère fonctionne très très bien sans modifier le format de la cellule. on reste à la saisie type >12/07/2007.
voilà.... j'y ai mis bien 40 min mais j'ai trouvé une solution en attendant de trouver mieux....
en fait le format de la cellule est bien une date type 12/02/2007.
dans la zone de critère, pour effectuer le filtre avancé, il faut bien saisir >12/02/2007 en temps normal et sur les versions antérieures !
sauf que : avant d'indiquer le signe '>' ou un autre signe, il faut transformer le format de la cellule en format standard, mais que dans la zone de critère. il s'affichera donc à la place de 12/02/2007 = 37663 (ce chiffre étant la codification d'excel pour repérer une date à partir de l'année 1900).
une fois le changement de format de cellule effecuté, on rajoute le signe dont on a besoin > ou < ou <> ou <= ou >=. on obtient donc dans la cellule >37663.
a partir de là, on peut lancer le filtre avancé et ça fonctionne... et sans modif de macro ou autre... !!
par contre, pour afficher toutes les lignes correspondantes au 12/07/2007, il n'y a rien besoin de faire, ça fonctionne nikel...
par contre, lorsqu'on utilise les fonctions de calculs =bdsomme(base;champs;zonecritère), la création de la zone de critère fonctionne très très bien sans modifier le format de la cellule. on reste à la saisie type >12/07/2007.
voilà.... j'y ai mis bien 40 min mais j'ai trouvé une solution en attendant de trouver mieux....
Bonjour
1 - as tu essayé sur 2007 de le faire manuellement ?
2 - as tu toujour sur 2007 recommancé les manip avec l'enregistreur de macro
personnelement, les filtres elabores sur les dates je les trouves penibles, j'utilise le format standard, avec les date en Format Entier
sur 2007 je n'ai pas encore essayé, mais sur 2002 je n'ai plus de problemes de cette maniere
1 - as tu essayé sur 2007 de le faire manuellement ?
2 - as tu toujour sur 2007 recommancé les manip avec l'enregistreur de macro
personnelement, les filtres elabores sur les dates je les trouves penibles, j'utilise le format standard, avec les date en Format Entier
sur 2007 je n'ai pas encore essayé, mais sur 2002 je n'ai plus de problemes de cette maniere
Bonjour Wilfried_42
Concernant vos propositions (j’ai essayé avec date, nombre ou texte):
1 - as tu essayé sur 2007 de le faire manuellement ? Fonctionne correctement.
2- as tu toujours sur 2007 recommencé les manip avec l'enregistreur de macro ? Oui pendant l’enregistrement cela fonctionne. Par contre lors de l’exécution de la macro, plus de filtrage pour les critère avec opérateur de comparaison.
Pour le travail avec les dates est certes un peut plus complexe mais fonctionne super bien chez moi.
Ou donc se cache la faute … !
Concernant vos propositions (j’ai essayé avec date, nombre ou texte):
1 - as tu essayé sur 2007 de le faire manuellement ? Fonctionne correctement.
2- as tu toujours sur 2007 recommencé les manip avec l'enregistreur de macro ? Oui pendant l’enregistrement cela fonctionne. Par contre lors de l’exécution de la macro, plus de filtrage pour les critère avec opérateur de comparaison.
Pour le travail avec les dates est certes un peut plus complexe mais fonctionne super bien chez moi.
Ou donc se cache la faute … !
re:
alors la : moi, je viens de faire le contraire, j'ai fait un classeur sur 2007 voici le fichier https://www.cjoint.com/?jnjtM3Fjvc
ca marche tres bien
ensuite je l'ai enregistré en format 97 / 2003, je l'ai chargé sans probleme avec excel 2002
et devine,
ca marche super, je n'ai pas modifier la macro que voici
pas une seule difference entre les deux codes
alors la : moi, je viens de faire le contraire, j'ai fait un classeur sur 2007 voici le fichier https://www.cjoint.com/?jnjtM3Fjvc
ca marche tres bien
ensuite je l'ai enregistré en format 97 / 2003, je l'ai chargé sans probleme avec excel 2002
et devine,
ca marche super, je n'ai pas modifier la macro que voici
Sheets("Feuil2").Cells.Clear
Sheets("Feuil1").Range("base").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sheets("Feuil1").Range( _
"crit"), CopyToRange:=Sheets("Feuil2").Range("A1"), Unique:=False
pas une seule difference entre les deux codes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Merci pour l'exemple très intéressent.
De mon côté le critère se trouve directement dans la zone de critère sans passé par (="<="&F1 ) et c'est bien là le problème.
Merci pour l'exemple très intéressent.
De mon côté le critère se trouve directement dans la zone de critère sans passé par (="<="&F1 ) et c'est bien là le problème.
re:
cet exemple etait que pour te montrer un methode que j'utilise et qui fonctionne tres bien
meme si j'utilise une userform, j'utilise des cellules intermediaires et je construis mon filtre de la meme maniere
cet exemple etait que pour te montrer un methode que j'utilise et qui fonctionne tres bien
meme si j'utilise une userform, j'utilise des cellules intermediaires et je construis mon filtre de la meme maniere
Bonjour,
Oui j'ai très bien compris votre démarche et je vous en remercie.
Je vais même en profiter et l'adopter dans les cas qui se reproduiront.
Je viens de parcourir l'aide de MS dont la marche à suivre est identique à la mienne ... il y a donc un problème que je ne désespère pas de trouver...
En attendant j'utiliserai votre méthode.
Merci et bon week-end.
Oui j'ai très bien compris votre démarche et je vous en remercie.
Je vais même en profiter et l'adopter dans les cas qui se reproduiront.
Je viens de parcourir l'aide de MS dont la marche à suivre est identique à la mienne ... il y a donc un problème que je ne désespère pas de trouver...
En attendant j'utiliserai votre méthode.
Merci et bon week-end.