j'ai besoin de v=E9rifier que le filtre auto est enclench=E9 sur la
feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode =3D False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut v=E9rifier le nombre de ligne masqu=E9e,
est si =E9gale ou sup=E9rieur =E0 1 sur la feuille active alors faire le
traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclench=E9, la macro se d=E9roule m^me
si aucune ligne n'est masqu=E9e, alors je pense qu'il faut ajouter ce
test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour SylVBA,
x = Application.Subtotal(3, Range("A:A")) y = Application.CountA(Range("A:A")) LigneMasquées = y - x
isabelle
a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
SylVBA
bonjour SylVBA,
x = Application.Subtotal(3, Range("A:A"))
y = Application.CountA(Range("A:A"))
LigneMasquées = y - x
isabelle
sylvie.laurent82@wanadoo.fr a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la
feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée,
est si égale ou supérieur à 1 sur la feuille active alors faire le
traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me
si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce
test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
x = Application.Subtotal(3, Range("A:A")) y = Application.CountA(Range("A:A")) LigneMasquées = y - x
isabelle
a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
SylVBA
sylvie.laurent82
Merci Isabelle,
N'y a t'il pas une commande du type
msgbox ( nombre de ligne masquée de la feuille active .count) ??
Merci à vous,
SylVBA
Merci Isabelle,
N'y a t'il pas une commande du type
msgbox ( nombre de ligne masquée de la feuille active .count)
??
msgbox ( nombre de ligne masquée de la feuille active .count) ??
Merci à vous,
SylVBA
MichDenis
Bonjour Sylvie,
2 lignes de code :
Retourne vrai ou faux ... x = worksheets("Feuil1").AutoFilterMode Détermine si les boutons d'un filtre automatique sont présents dans la feuille, et ce, même si un filtre est en place ou non.
Retourne vrai ou faux... z = worksheets("Feuil1").FilterMode selon qu'il y a un filtre appliqué sur la plage. Ici, un filtre doit être en application sur les données. Cela est vrai pour un filtre automatique ou élaboré.
Cependant, dans un filtre automatique, tu peux avoir un filtre en application et que toutes les entrées répondent au critère ... par exemple >0 , la conséquence est qu'il est possible pour un filtre automatique d'être en application, mais n'avoir aucune ligne masquée, car toutes les lignes répondent au critère du filtre. Dans ce cas, même si aucune ligne est masquée, la ligne de code retourne True. Dans le cas d'un filtre élaboré, s'il n'y a pas de lignes masquées résultat de l'application du filtre, la ligne de code retourne False. En conséquence,, pour un filtre élaboré, si les données ne sont pas filtrées sur place, la ligne de code retournera toujours false car aucune ligne sera masquée.
Et si tu préfères compter les lignes masquées, tu peux utiliser la fonction Sous.Total().
a écrit dans le message de groupe de discussion :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
SylVBA
Bonjour Sylvie,
2 lignes de code :
Retourne vrai ou faux ...
x = worksheets("Feuil1").AutoFilterMode
Détermine si les boutons d'un filtre automatique sont présents dans la
feuille, et ce, même si un filtre est en place ou non.
Retourne vrai ou faux...
z = worksheets("Feuil1").FilterMode
selon qu'il y a un filtre appliqué sur la plage. Ici, un filtre doit être en
application sur les données. Cela est vrai pour un filtre automatique ou
élaboré.
Cependant, dans un filtre automatique, tu peux avoir un filtre en
application et que toutes les entrées répondent au critère ... par exemple
>0 , la conséquence est qu'il est possible pour un filtre automatique d'être
en application, mais n'avoir aucune ligne masquée, car toutes les lignes
répondent au critère du filtre. Dans ce cas, même si aucune ligne est
masquée, la ligne de code retourne True.
Dans le cas d'un filtre élaboré, s'il n'y a pas de lignes masquées résultat
de l'application du filtre, la ligne de code retourne False. En
conséquence,, pour un filtre élaboré, si les données ne sont pas filtrées
sur place, la ligne de code retournera toujours false car aucune ligne sera
masquée.
Et si tu préfères compter les lignes masquées, tu peux utiliser la fonction
Sous.Total().
<sylvie.laurent82@wanadoo.fr> a écrit dans le message de groupe de
discussion :
cd804522-9931-448b-a130-12cf4b2c9164@r3g2000vbp.googlegroups.com...
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la
feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée,
est si égale ou supérieur à 1 sur la feuille active alors faire le
traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me
si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce
test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
Retourne vrai ou faux ... x = worksheets("Feuil1").AutoFilterMode Détermine si les boutons d'un filtre automatique sont présents dans la feuille, et ce, même si un filtre est en place ou non.
Retourne vrai ou faux... z = worksheets("Feuil1").FilterMode selon qu'il y a un filtre appliqué sur la plage. Ici, un filtre doit être en application sur les données. Cela est vrai pour un filtre automatique ou élaboré.
Cependant, dans un filtre automatique, tu peux avoir un filtre en application et que toutes les entrées répondent au critère ... par exemple >0 , la conséquence est qu'il est possible pour un filtre automatique d'être en application, mais n'avoir aucune ligne masquée, car toutes les lignes répondent au critère du filtre. Dans ce cas, même si aucune ligne est masquée, la ligne de code retourne True. Dans le cas d'un filtre élaboré, s'il n'y a pas de lignes masquées résultat de l'application du filtre, la ligne de code retourne False. En conséquence,, pour un filtre élaboré, si les données ne sont pas filtrées sur place, la ligne de code retournera toujours false car aucune ligne sera masquée.
Et si tu préfères compter les lignes masquées, tu peux utiliser la fonction Sous.Total().
a écrit dans le message de groupe de discussion :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
SylVBA
MichDenis
Bonjour Isabellle,
Qu'est-ce qui se passe, si un filtre est vraiment en application mais que tous les enregistrements répondent au critère. Dans ce cas aucune ligne sera masquée mais un filtre est quand même en application. Non ? C'est ce pourquoi, je dis que cette approche a une limite ... ! Bon, c'est selon ce que le demandeur recherche.
"isabelle" a écrit dans le message de groupe de discussion :
bonjour SylVBA,
x = Application.Subtotal(3, Range("A:A")) y = Application.CountA(Range("A:A")) LigneMasquées = y - x
isabelle
a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
SylVBA
Bonjour Isabellle,
Qu'est-ce qui se passe, si un filtre est vraiment en application mais
que tous les enregistrements répondent au critère. Dans ce cas
aucune ligne sera masquée mais un filtre est quand même en
application. Non ? C'est ce pourquoi, je dis que cette approche
a une limite ... ! Bon, c'est selon ce que le demandeur recherche.
"isabelle" <i@v> a écrit dans le message de groupe de discussion :
e8clfvn0JHA.5036@TK2MSFTNGP02.phx.gbl...
bonjour SylVBA,
x = Application.Subtotal(3, Range("A:A"))
y = Application.CountA(Range("A:A"))
LigneMasquées = y - x
isabelle
sylvie.laurent82@wanadoo.fr a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la
feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée,
est si égale ou supérieur à 1 sur la feuille active alors faire le
traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me
si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce
test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
Qu'est-ce qui se passe, si un filtre est vraiment en application mais que tous les enregistrements répondent au critère. Dans ce cas aucune ligne sera masquée mais un filtre est quand même en application. Non ? C'est ce pourquoi, je dis que cette approche a une limite ... ! Bon, c'est selon ce que le demandeur recherche.
"isabelle" a écrit dans le message de groupe de discussion :
bonjour SylVBA,
x = Application.Subtotal(3, Range("A:A")) y = Application.CountA(Range("A:A")) LigneMasquées = y - x
isabelle
a écrit :
Bonsoir,
Je traite un petit morceau de fichier,
j'ai besoin de vérifier que le filtre auto est enclenché sur la feuille active, j'utilise donc:
If ActiveSheet.AutoFilterMode = False Then Exit Sub
'si non on sort,
Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !!
En fait si le mode filtre auto est enclenché, la macro se déroule m^me si aucune ligne n'est masquée, alors je pense qu'il faut ajouter ce test
Qu'en pensez vous ?
Je vous remercie d'avance et je reste attentive aux suggestion(s)
msgbox ( nombre de ligne masquée de la feuille active .count) ??
Merci à vous,
SylVBA
Excel
Bonjour Sylvie,
De passage, que penses tu de cette idée:
Pour compter le nombre de ligne masquée : msgbox Range("A:A").SpecialCells(xlCellTypeVisible).Count
Suivant ta demande: "Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !! "
Si au moins une ligne masquée alors sortir de la procédure: If ActiveSheet.Rows.Count > Range("A:A").SpecialCells (xlCellTypeVisible).Count Then Exit Sub
> msgbox ( nombre de ligne masquée de la feuille active .count) > ??
> Merci à vous,
> SylVBA- Masquer le texte des messages précédents -
- Afficher le texte des messages précédents -
Bonjour Sylvie,
De passage, que penses tu de cette idée:
Pour compter le nombre de ligne masquée :
msgbox Range("A:A").SpecialCells(xlCellTypeVisible).Count
Suivant ta demande:
"Maintenant je pense qu'il faut vérifier le nombre de ligne masquée,
est si égale ou supérieur à 1 sur la feuille active alors faire le
traitement, sinon Exit sub !! "
Si au moins une ligne masquée alors sortir de la procédure:
If ActiveSheet.Rows.Count > Range("A:A").SpecialCells
(xlCellTypeVisible).Count Then Exit Sub
Pour compter le nombre de ligne masquée : msgbox Range("A:A").SpecialCells(xlCellTypeVisible).Count
Suivant ta demande: "Maintenant je pense qu'il faut vérifier le nombre de ligne masquée, est si égale ou supérieur à 1 sur la feuille active alors faire le traitement, sinon Exit sub !! "
Si au moins une ligne masquée alors sortir de la procédure: If ActiveSheet.Rows.Count > Range("A:A").SpecialCells (xlCellTypeVisible).Count Then Exit Sub