VBA - AdvancedFilter : problème de critère (texte)
Bonjour à tous,
J'ai créé un userform sur Excel et j'utilise la fonction AdvancedFilter avec laquelle je rencontre une difficulté.
Pour simplifier, je souhaite filtrer le tableau de données suivant :
Numéro de fiche |
Numéro de série |
1 |
00123456789 |
2 |
7410258963 |
NB : Les cellules de ce tableau sont en format texte et sont récupérés à partir de textBox de mon userform.
Mon tableau de critère (également en format 'texte') est le suivant :
Numéro de série |
0123456789 |
Mon code VBA est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
Sub filtreAvance1()
'Déclaration des variables
Dim rgDonnees As Range
Dim rgCritere As Range
Dim rgDestination As Range
'Affectation des variables
Set rgDonnees = Feuil4.Range("A1").CurrentRegion 'équivalent au 1er tableau exemple
Set rgCritere = Feuil3.Range("Q3").CurrentRegion 'équivalent au 2nd tableau exemple
Set rgDestination = Feuil2.Range("A1")
'Suppression l'ancien filtre
Feuil2.Cells.ClearContents
'Exécute l'outil FiltreAvancee
rgDonnees.AdvancedFilter xlFilterCopy, rgCritere, rgDestination
End Sub |
J'aimerai que le résultat du filtre soit vide mais ce dernier m'extrait la fiche n°1 associée au numéro de série "00123456789" (dans mon critère, le numéro de série est "0123456789").
J'ai l'impression qu'Excel supprime les "0" du début des nombres, pourtant dans les deux tableaux (données & critère) les cellules sont au format 'texte'.
J'ai essayé différentes variantes telles que modifier mon tableau critère comme tel :
Numéro de série |
=0123456789 |
Cependant, le résultat est le même. La seule solution que j'ai trouvé est de modifier mes numéros de série, en ajoutant une lettre au début comme "b" et là le résultat est conforme à mes attentes. J'aimerai une solution plus optimale s'il vous plaît ?
Merci par avance, bonne journée à vous