thomasmbai
XLDnaute Nouveau
Bonjour,
Dans un de mes classeurs, à chaque fois que je lance une mise à jour des données je voudrais qu'il commence par effacer complêtement la feuille2. Aussi j'avais rédigé le code suivant :
Je me suis rendu compte que lorsqu'un filtre était activé, il efface tout sauf les cases défiltrées. Ce qui est logique mais contraire à ce que je souhaiterais. Alors j'ai utilisé la fonction ShowAllData comme suit :
C'est parfait... cela fonctionne très bien. En revanche quand aucun filtre n'est activé j'ai le droit au débogage. Dès qu'un filtre est activé, cela fonctionne à nouveau.
Comment faire ? Je pense que la seule solution est de faire une formule si... Avec if(si filtres activés;alors ShowAllData;ClearContents). Mais comment exprimer la condition "si filtres activés" ?
Merci d'avance pour votre aide
Dans un de mes classeurs, à chaque fois que je lance une mise à jour des données je voudrais qu'il commence par effacer complêtement la feuille2. Aussi j'avais rédigé le code suivant :
Code:
Cells.Select
Selection.ClearContents
Je me suis rendu compte que lorsqu'un filtre était activé, il efface tout sauf les cases défiltrées. Ce qui est logique mais contraire à ce que je souhaiterais. Alors j'ai utilisé la fonction ShowAllData comme suit :
Code:
ActiveSheet.ShowAllData
Cells.Select
Selection.ClearContents
C'est parfait... cela fonctionne très bien. En revanche quand aucun filtre n'est activé j'ai le droit au débogage. Dès qu'un filtre est activé, cela fonctionne à nouveau.
Comment faire ? Je pense que la seule solution est de faire une formule si... Avec if(si filtres activés;alors ShowAllData;ClearContents). Mais comment exprimer la condition "si filtres activés" ?
Merci d'avance pour votre aide