Filtre auto + VBA

A

apopescu

Guest
Bonjour a tous,

j'aurais besoin d'aide sur l'utilisation des filtres automatiques dans une macro.
En fait, j'ai des filtres sur lesquels j'applique des critères dans le cas ou la selection est égale au critère, je n'ai pas de probleme (criteria1:==x), par contre, si je veux faire différent de x, je n'y arrive pas. est ce que quelqu'un pourrait m'aider?
Je voudrais aussi savoir, comment faire pour eviter de voir apparaitre le fenetre de confirmation de fermeture d'un fichier (toujours dans le cadre d'une macro). Je voudrais fermer le fichier sans le sauvegarder.

Merci d'avance
 
V

Vériland

Guest
Bonsoir Apopescu et toi le forum,

Première question :

Criteria1:="<>" & quelque chose

Deuxième question :

ThisWorkbook.Close

A+Veriland.gif
 
J

jacquesderyes

Guest
Bonsoir apopescu,veriland et les amis du forum
En ce qui concerne la fermeture(parVBA) d'un fichier excel il est necessaire de préciser que l'on ne désire pas voir apparaître l'habituel message de confirmation.ex;
Sub fermer_sans_sauver()

Application.DisplayAlerts=False
ThisWorkBook.Close
ThisWorkBook.Save=False
End Sub


Bien amicalement.
jacquesderyes
 
A

apopescu

Guest
Bonjour a tous,

Jacques, je n'arrive pas a faire le <>, voici la ligne de ma macro:

Selection.AutoFilter Field:=18, Criteria1:="<>"x, Operator _:=xlAnd

mais cela ne fonctionne pas, il me dit Erreur de compilation, fin d'instruction attendue.
Qu'est ce qui cloche dans ma macro?
Encore merci.
 
J

jacquesderyes

Guest
Bonjour apopescu et les amis du forum

Il semblerait que tu n'aies pas mis les "" au bon endroit!
essayes comme ça:

Selection.AutoFilter Field:=18, Criteria1:="<>x", Operator _:=xlAnd


Bien amicalement

jacquesderyes
 
A

apopescu

Guest
En fait si je veux faire =, je n'ai pas besoin des guillemets:

Selection.AutoFilter Field:=18, Criteria1:=x

Sans doute parce que x est une variable qui fait référence a une cellule, mais si je fais la meme chose pour différent, ca ne marche pas

Selection.AutoFilter Field:=18, Criteria1:="<>x"
ou
Selection.AutoFilter Field:=18, Criteria1:=<>x

il ne veut rien savoir. L'objectif est que les criteres appliqués changent donc je la rentre dans la variable x pour faire mon tri.
J'espere avoir ete assez clair.
 
V

Vériland

Guest
Bonsoir Apopescu, Jacques et toi le forum,

smiles_82.gif
...toujours un soucis avec le critère différent de ?...

en fait depuis le début, j'ai donné les grandes lignes...j'ai pas été plus loin puisque tu semblais ne pas avoir de problème d'interprétation...
smiley_457.gif


dans mon premier post je parlais de :

Criteria1:="<>" & quelque chose

Mais ce "quelque chose" correspond en fait à la variable X chez moi...ce qui donnerait comme procédure...

Dim X As Integer
X = 10
Selection.AutoFilter Field:=1, Criteria1:="<>" & X


Ici le filtre automatique sera différent de 10...c'est un exemple...

voilà pour le complément...lol

en fait j'aurais p'têt du commencer par fournir ce Lien supprimé...pas plus tard qu'hier je répondais d'une manière presque semblable à Naim lahcen...qui n'a pas encore répondu...enfin bref !....
c'est pas le problème...
smiley_336.gif


ensuite pour ma réponse de ThisWorkbook.Close...ben il est vrai qu'elle manquait p'têt de clarté...mais comme Jacques à été plus explicite à ce sujet je n'ai pas à verbigérer...lol

Voilà, j'espère que ton problème de filtre est résolu...auquel cas tu fais appel...
smiley_383.gif


Bonne programmation

A+Veriland.gif
 

Discussions similaires

Réponses
40
Affichages
1 K
Réponses
69
Affichages
4 K
Réponses
9
Affichages
217
Réponses
3
Affichages
607

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 855
Membres
103 977
dernier inscrit
Hermet