Microsoft 365 Code VBA pour vérifier si lignes masquées le sont bien

PatFr38

XLDnaute Nouveau
Bonjour, à toutes et à tous.

J'aurais besoin d'un code VBA pour simplifier celui que j'ai déjà, qui prend beaucoup de temps à chaque activation de l'onglet concerné (Programme).

Quand j'active l'onglet Programme, mon code (voir l'actuel ci-dessous, qui fonctionne très bien, mais est très long en temps de traitement à chaque activation/consultation de l'onglet) doit vérifier si dans un autre onglet, nommé BDD (Base De Données), un nom d'équipe a été saisi et des noms d'Agents de cette équipe. Si aucun nom d'équipe et/ou d'Agents n'a été saisi en BDD, les lignes concernées sont masquées dans l'onglet Programme. Ce code a pour autre rôle de masquer les lignes de détails de chaque Agent, qui auraient été laissées visibles après affichage par un bouton (tout cela fonctionne très bien, là n'est pas le souci) lors de la dernière activation de cet onglet Programme. Une idée, SVP ? Merci d'avance.


VB:
Private Sub Worksheet_Activate()
' Automatismes à l'ouverture de l'onglet

' Déprotège l'onglet
    ActiveSheet.Unprotect

' Masque les lignes vides des Equipes et Agents non saisis en BDD, et les détails des Agents
' Equipe 01
' Nom Equipe 01
If Sheets("BDD").Range("F3") = 0 Then
    Rows("5").EntireRow.Hidden = True
    Else
    Rows("5").EntireRow.Hidden = False
End If
' Agent 01 de l'Equipe 01
If Sheets("BDD").Range("H4") = 0 Then
    Rows("6:13").EntireRow.Hidden = True
    Else
    Rows("6:13").EntireRow.Hidden = False
    Rows("7:12").EntireRow.Hidden = True
End If
' Agent 02 de la Brigade 01
If Sheets("BDD").Range("H5") = 0 Then
    Rows("14:21").EntireRow.Hidden = True
    Else
    Rows("14:21").EntireRow.Hidden = False
    Rows("15:20").EntireRow.Hidden = True
End If

' Il y a ainsi au total 7 Equipes de 10 Agents chacune!

' Sélectionne la liste déroulante des mois
    Range("A4").Select

' Reprotège l'onglet
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 266
Membres
103 168
dernier inscrit
isidore33