13GIBE59
XLDnaute Accro
Bonjour le forum, bonjour à toutes et à tous. 🙂
Aujourd’hui, mon problème est relatif à un mystère de plus d’Excel, car mon fichier marche très bien mais seulement sous certaines conditions. 😡
Je vais essayer d’être concis, et je m’excuse par avance si mon message paraît un peu long. 😱
Le fichier joint comporte un tableau s’étendant de A1 à C17. La macro du bouton OK filtre les colonnes A et B selon certains critères de choix et inscrit en C18 :
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Application.Subtotal(9, ActiveSheet.AutoFilter.Range.Columns(3))
la somme correspondant aux filtres.
La commande « Annuler » ou « Fermer » efface -entre autres- le contenu de C18
Range("C18").Select
Selection.ClearContents
pour pouvoir ré-inscrire en C18 le résultat d’un nouveau filtre.
Or, c’est là que le bât blesse : en effet, un autre filtre demandé après « remise à zéro » (« Annuler ») fonctionne bien dans son calcul (le résultat est inscrit en C18) mais la ligne 18 est masquée. Seules apparaissent les lignes à partir de la ligne 19.
Cette anomalie disparaît si entre deux calculs de filtres on supprime les cellules A18 :C18 ou la ligne 18 entière (et non pas le contenu). Une telle action est facile à transcrire en vba. Je ne l’ai pas -encore- fait car j’aime comprendre les choses. 😎
En fait, Excel agit, après suppression du contenu de A18 :C18 comme si ces cellules « contenaient » encore une valeur et les masque en cas de nouveau filtre.
Cette anomalie est-elle explicable par les plus calés d’entre vous ? 😕
Merci d’avance pour votre attention. 😛
Aujourd’hui, mon problème est relatif à un mystère de plus d’Excel, car mon fichier marche très bien mais seulement sous certaines conditions. 😡
Je vais essayer d’être concis, et je m’excuse par avance si mon message paraît un peu long. 😱
Le fichier joint comporte un tableau s’étendant de A1 à C17. La macro du bouton OK filtre les colonnes A et B selon certains critères de choix et inscrit en C18 :
Range("C65536").End(xlUp).Offset(1, 0).Select
ActiveCell.Value = Application.Subtotal(9, ActiveSheet.AutoFilter.Range.Columns(3))
la somme correspondant aux filtres.
La commande « Annuler » ou « Fermer » efface -entre autres- le contenu de C18
Range("C18").Select
Selection.ClearContents
pour pouvoir ré-inscrire en C18 le résultat d’un nouveau filtre.
Or, c’est là que le bât blesse : en effet, un autre filtre demandé après « remise à zéro » (« Annuler ») fonctionne bien dans son calcul (le résultat est inscrit en C18) mais la ligne 18 est masquée. Seules apparaissent les lignes à partir de la ligne 19.
Cette anomalie disparaît si entre deux calculs de filtres on supprime les cellules A18 :C18 ou la ligne 18 entière (et non pas le contenu). Une telle action est facile à transcrire en vba. Je ne l’ai pas -encore- fait car j’aime comprendre les choses. 😎
En fait, Excel agit, après suppression du contenu de A18 :C18 comme si ces cellules « contenaient » encore une valeur et les masque en cas de nouveau filtre.
Cette anomalie est-elle explicable par les plus calés d’entre vous ? 😕
Merci d’avance pour votre attention. 😛
Pièces jointes
Dernière édition: