Bonjour,
je sais filtrer sur une colonne avec 1 seul critère de recherche:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
  excel.sheets[1].range['A1'].autofilter(4,'=texte1');
-> filtrage sur la colonne 4 (D) avec pour critère le texte "texte1".

Maintenant, je voudrais passer 3 critères en paramètres. Par exemple
texte1 et texte2 et texte3

J'ai essayé tout un tas de combinaison mais je n'y arrive pas.

L'enregistreur de macro excel me donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
ActiveSheet.Range("$A$1:$I$4785").AutoFilter Field:=4, Criteria1:=Array( _
        "texte1", "texte2", "texte3"), Operator:=xlFilterValues
J'ai essayé avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
  Var v : olevariant;
...
v := vararraycreate([0,1,2],varvariant);
  v[0] := '=texte1';
  v[1] := '=texte2';
  v[2] := '=texte3';
  excel.sheets[1].range['A1'].autofilter(4,v);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
  Var v : olevariant;
...
v := vararraycreate([0,1,2],varvariant);
  v[0] := 'texte1';
  v[1] := 'texte2';
  v[2] := 'texte3';
  excel.sheets[1].range['A1'].autofilter(4,v);
pas d'erreur de compilation mais toujours un seul texte comme critère : 'texte3'
J'ai essayé aussi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
excel.sheets[1].range['A1'].autofilter(4,vararrayof(['=texte1','=texte2','=texte3']));
et aussi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
excel.sheets[1].range['A1'].autofilter(4,vararrayof(['texte1','texte2','texte3']));
Pas d'erreur de compilation mais toujours texte3 comme filtre. Le dernier de la liste a chaque fois !
Là je bloque !!!!!.

Merci d'avance pour le temps passé a me répondre.