XL 2013 Empêcher l'affichage d'une fenêtre flottante pour certaines feuilles spécifiques dans un classeur

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Khrysthof

XLDnaute Nouveau
Bonjour à tous,
Besoin d'aide à nouveau concernant ce fichier avec fenêtre flottante qui s'ouvre à l'ouverture du classeur.
Le système fonctionne très bien Merci à Phil69970, mais maintenant je désirerai que les fenêtres flottantes ne s'effectue pas pour certaines feuilles (( "Restant à former" et "DonnéeSource" cette dernière en feuille masquée)).
merci d'avance
 

Pièces jointes

Solution
sinon, pour éviter des messages à répétition inutiles, tu peux remplacer par ceci
VB:
Sub Traiter()
Dim Plage As Range, MaCel As Range, Lig&, Col%, LeNom§, LaFormation§, Liste$, Liste1$, Derlig&
Dim Ws As Worksheet

    For Each Ws In Worksheets
        If Ws.Name <> "Restant à former" And Ws.Name <> "DonnéeSource" Then
            Derlig = Ws.Range("A" & Rows.Count).End(xlUp).Row
            Set Plage = Ws.Range("E2:P" & Derlig)
            For Each MaCel In Plage
                If MaCel < (Date - 1005) Then
                    Lig = MaCel.Row
                    Col = MaCel.Column
                    LeNom = Ws.Range("A" & Lig)
                    LaFormation = Ws.Cells(1, Col)
                    Liste1 = LeNom & " avec  " &...
Bonjour

il te suffit d'ajouter un test sur le nom de la feuille pour ne la traiter que si elle répond au besoin
VB:
Private Sub Workbook_Open()

Dim Plage As Range, MaCel As Range, Lig&, Col%, LeNom§, LaFormation§, Liste$, Liste1$, Derlig&
Dim Ws As Worksheet

    For Each Ws In Worksheets
        If Ws.Name <> "Restant à former" And Ws.Name <> "DonnéeSource" Then
            Derlig = Ws.Range("A" & Rows.Count).End(xlUp).Row
            Set Plage = Ws.Range("E2:P" & Derlig)
            For Each MaCel In Plage
                If MaCel < (Date - 1005) Then
                    Lig = MaCel.Row
                    Col = MaCel.Column
                    LeNom = Ws.Range("A" & Lig)
                    LaFormation = Ws.Cells(1, Col)
                    Liste1 = LeNom & " avec  " & LaFormation & " à renouveler"
                    Liste = Liste & vbCrLf & Liste1
                End If
            Next
            MsgBox "Pour " & Ws.Name & Liste
            Liste = ""
        End If
    Next Ws
End Sub
 
sinon, pour éviter des messages à répétition inutiles, tu peux remplacer par ceci
VB:
Sub Traiter()
Dim Plage As Range, MaCel As Range, Lig&, Col%, LeNom§, LaFormation§, Liste$, Liste1$, Derlig&
Dim Ws As Worksheet

    For Each Ws In Worksheets
        If Ws.Name <> "Restant à former" And Ws.Name <> "DonnéeSource" Then
            Derlig = Ws.Range("A" & Rows.Count).End(xlUp).Row
            Set Plage = Ws.Range("E2:P" & Derlig)
            For Each MaCel In Plage
                If MaCel < (Date - 1005) Then
                    Lig = MaCel.Row
                    Col = MaCel.Column
                    LeNom = Ws.Range("A" & Lig)
                    LaFormation = Ws.Cells(1, Col)
                    Liste1 = LeNom & " avec  " & LaFormation & " à renouveler"
                    Liste = Liste & vbCrLf & Liste1
                End If
            Next MaCel
            If Liste <> "" Then
                Message = Message & "Pour " & Ws.Name & Liste
            End If
            Liste = ""
        End If
    Next Ws
    If Message <> "" Then
        MsgBox Message
    Else
        MsgBox "Tout est OK"
    End If
End Sub
et
Code:
Private Sub Workbook_Open()
    Traiter
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

D
Réponses
6
Affichages
1 K
D
Retour