Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Filtre élaboré sur des données alphanumériques

  • Initiateur de la discussion Initiateur de la discussion Bana XIII
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Bana XIII

XLDnaute Nouveau
Bonjour à toute la communauté,

J'ai un petit soucis que j'aimerais partager en attente de vos inestimables apports.

J'ai un tableau comportant dans la colonne "C" des données alphanumériques au format "VEN-0001" qui sont incrémentées à chaque nouvelle vente (ces données correspondent à des numéros de factures).
J'essaie la macro suivante du filtre élaboré sur cette colonne mais elle ne marche pas:

' Application du filtre
ThisWorkbook.Sheets("VENTES").Range("TABLEAU_VENTES[#all]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=ThisWorkbook.Sheets("VENTES").Range("N1:O2"), CopyToRange:=ThisWorkbook.Sheets("VENTES").Range("Q1:AB1"), Unique:=False


Voici comment je procède: J'ai deux (02) textbox sur mon userform dans lesquels j'entre manuellement les critères de filtrage (intervalles de factures à filtrer). Le code ne marche pas lorsque les numéros de factures sont tapés manuellement, mais il marche parfaitement lorsque je copie des numéros des cellules vers les textbox.

Paradoxalement, lorsque je tape manuellement le texte "VEN-" dans les textbox, la macro semble fonctionner en procédant à l'extraction de toutes les données enregistrées dans la feuille, preuve que c'est le format alphanumérique des critères de filtre qui cause problème.

Je n'ai jamais été confronté à pareil situation et toute explication susceptible de m'outiller et surtout me sortir de cette galère sera la bienvenue.

Cordialement!
 
Bonjour

Comme disait Rick dans les eighties " Ca marche pour moi!" 😉

Le contexte: un classeur (sans OGM), avec deux feuilles bien sous tous rapports
Que s'appelerio Quezac1 et Quezac2 (=> pour les millenials () )par exemple 😉

On copie cette macro dans un module standard
VB:
Sub Macro1()
Sheets("Quezac2").Range("A2").FormulaR1C1 = _
        "=AND(LEFT(Quezac1!RC[2],3)=""VEN"",AND(RIGHT(Quezac1!RC[2],3)*1>=6,RIGHT(Quezac1!RC[2],3)*1<=17))"
Sheets("Quezac2").Range("A1:A2").Select
Sheets("Quezac1").Cells(1).CurrentRegion.AdvancedFilter _
                Action:=xlFilterCopy, _
                CriteriaRange:=Range("Quezac2!Criteria"), _
                CopyToRange:=Range("Quezac2!C1"), Unique:=False
End Sub
Et on lance la macro quand c'est la feuille Quezac2 qui est la feuille active

Ce qui donne la chose suivante


NB: Si un fichier avait été joint dans le 1er message, c'eut été plus simple 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…