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.
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