Fitres

Bonjour à tous,

J'ai une question concernant les filtres.

J'ai une macro qui vient prendre la valeur d'une cellule et qui va ensuite utiliser cette valeur en tant que filtre dans un autre tableau (et qui ensuite copie colle les valeurs filtrées dans un autre fichier).

Jusque là rien de compliqué. Sauf que la valeur du filtre varie. Ex. : La valeur du filtre est une chaine de caractère. Si le nombre de caractère dans la cellule est de 2 (AA), il n'y a qu'un filtre (AA). Si le nombre de caractère dans la cellule est de 4 (AABB), il y a 2 filtres (cellule contient AA ou BB). Si le nombre de caractère dans la cellule est de 6 (AABBCC), il y a 3 filtres (cellule contient AA ou BB ou CC) etc.

La chaine de caractères peut compter jusqu'à 60 caractères i.e 30 valeurs pour filtrer.

Pourriez-vous m'aider pour trouver une solution qui m'éviterait de rédiger un code qui aurait 30 "if" et où je finirai avec un autofilter du type AutoFilter Field:=1, Criteria1:=Array("AA", "BB", "CC", "DD",...,"30ème filtre")?

Je vous remercie

Guillaume

Salut Guillaume,

quelque chose comme ça? En supposant que ta cellule-cible soit [A1].

'
sFlag = [A1]
For x = 1 To Len(sFlag) / 2
    sCriteria = Mid(sFlag, -1 + (x * 2), 2)
    AutoFilter Field:=1, Criteria1:=sCriteria
Next
'

A+

Rechercher des sujets similaires à "fitres"