Activer macro excel au changement d'onglet

cigalinette Messages postés 2 Statut Membre -  
 LeRogerTroutman -
Bonjour,
la problématique est la suivante: des données sont copiées en ligne d'une feuille A à une feuille B sous certaines conditions.
Du coup, des lignes vides existent sur la feuille B. Je les cache avec un filtre vide/non vide. Le problème est qu'une fois le filtre en place, il ne cache pas les nouvelles lignes vides. Il faut le désactiver et le réactiver à la main.

1ere question: est qu'une option existe pour que le filtre soit permanent une fois pour toute et prenne en compte les nouvelles valeurs inscrites après son activation

2eme question: si non à la 1ere question, une petite macro qui désactive et réactive le filtre à chaque fois que l'on vient sur la feuille B serait bien utile. Comment faire ?

Merci d'avance pour vos réponses

@+
A voir également:

5 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour tout le monde,

thisworkbook ?
j'aurais plutôt dit Worksheet_Activate()

Clic-droit sur le nom d'onglet de ta feuille, 'visualiser le code', y coller le code suivant :
Private Sub Worksheet_Activate()
    Selection.AutoFilter Field:=3, Criteria1:="<>"
End Sub

Si tu quittes et reviens sur ta feuille le 3ème filtre automatique sera rafraichi.
Tu peux aussi le mettre sur le double-clic pour ne pas à avoir à sélectionner une autre feuille :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Selection.AutoFilter Field:=3, Criteria1:="<>"
    Cancel = True
End Sub

eric
0
cigalinette Messages postés 2 Statut Membre
 
Un grand merci, ça marche nickel

@+
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
hé bé, t'es une vraie cigale... Tu as chanté tout le mois au lieu de travailler ? ;-)
Merci pour le retour
0
LeRogerTroutman
 
J'ai utilisé le :

Private Sub Worksheet_Activate()
...
End Sub

Ca marche nickel, merci eric.

Le Roger
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 15481 Date d'inscription   Statut Contributeur Dernière intervention   4 730
 
bonjour

Il faut placer ta macro dans thisworkbook en fonction Activate.

Tu peux enregistrer ta macro dans un module puis la déplacer ensuite.
-1