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: