Activer les macros à l'ouverture d'un fichier

Re,

Content que tu sois content.

Pour clore la question, je mets un peu de smileys et de couleurs.

pas nécessaire, mais pourtant.

Merci de ce retour.

Si tu n'aimes pas la police en rouge.

Merci de ce retour.

pour terminer en vert, comme dhany

Merci de ce retour

Note : et j'ai +1 à mon compteur.

OK çà marche super

Un grand merci à toi et Jean-éric

Mais qu'avez vous donc Jean-Eric avec les couleurs ce soir ?

Vous venez de "découvrir" ces balise dans la fenêtre d'édition!

@ bientôt

LouReeD

a+ les gens ! Encore merci et bonne fêtes de fin d'années !

bonjour à tous,

juste une dernière question (peut-être) y-a-t'il quelque chose dans le code qui limite le NB de feuilles cachées? même si c'est pas très important, il me reste 2 feuilles visibles à l'ouverture.

Désolé je viens seulement de m'en rendre compte.

Encore merci de votre aide et surtout votre patience avec les novices comme moi.

De très bonnes fêtes à tout le forum

Bah là je comprends vraiment plus rien

j'ai essayé de copier le code dans un autre fichier identique NB feuilles même nom çà fonctionne plus du tout

une explication? SVP

Bonjour,

Tu as bien copié les procédures dans le module ThisWorkbook du classeur ?

Cdlt.

Désolé pour cette réponse un peu tardive, mais oui, j'ai bien copier dans ThisWorkbook.

en fait, je tombe bien sur la feuille "Accueil" mais toutes les autres sont visibles.

Option Explicit

Private Sub Workbook_Open()
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        For Each ws In .Worksheets
            ws.Visible = xlSheetVisible
        Next ws
        .Worksheets("Accueil").Visible = 2
    End With

    If Worksheets("Enquête").Range("J2") = "N° XXX" Then
        MsgBox "ATTENTION FICHIER ORIGINAL" _
        & vbNewLine & vbNewLine _
        & "vous devez être un utilisateur autorisé, " _
        & "pour pouvoir le modifier. ", vbOKOnly + vbExclamation, "Enquête Original"

    End If

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        .Worksheets("Accueil").Visible = -1
        For Each ws In .Worksheets
            If ws.Name <> "Accueil" Then
                ws.Visible = 2
            End If
        Next ws
    End With
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Dim Utilisateur As String

    Utilisateur = InputBoxDK("Indiquez votre nom d'utilisateur !", "Authentification utilisateur")

    Select Case Utilisateur

        Case "Nom1", "Nom2", "Nom3", "Nom4"  '<--- les noms pour lesquels l'enregistrement est autorisé

        Case Else

            MsgBox "Vous n'êtes pas autorisé à enregistrer les modifications que vous avez apporté ! " _
            & vbNewLine & vbNewLine _
            & "Ce fichier et EXCEL vont être fermer. ", vbOKOnly + vbCritical, "Fermeture d'enquête "

            Cancel = True

            Windows.Application.Quit

    End Select

End SubOption Explicit

Private Sub Workbook_Open()
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        For Each ws In .Worksheets
            ws.Visible = xlSheetVisible
        Next ws
        .Worksheets("Accueil").Visible = 2
    End With

    If Worksheets("Enquête").Range("J2") = "N° XXX" Then
        MsgBox "ATTENTION FICHIER ORIGINAL" _
        & vbNewLine & vbNewLine _
        & "vous devez être un utilisateur autorisé, " _
        & "pour pouvoir le modifier. ", vbOKOnly + vbExclamation, "Enquête Original"

    End If

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        .Worksheets("Accueil").Visible = -1
        For Each ws In .Worksheets
            If ws.Name <> "Accueil" Then
                ws.Visible = 2
            End If
        Next ws
    End With
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Dim Utilisateur As String

    Utilisateur = InputBoxDK("Indiquez votre nom d'utilisateur !", "Authentification utilisateur")

    Select Case Utilisateur

        Case "Nom1", "Nom2", "Nom3", "Nom4"  '<--- les noms pour lesquels l'enregistrement est autorisé

        Case Else

            MsgBox "Vous n'êtes pas autorisé à enregistrer les modifications que vous avez apporté ! " _
            & vbNewLine & vbNewLine _
            & "Ce fichier et EXCEL vont être fermer. ", vbOKOnly + vbCritical, "Fermeture d'enquête "

            Cancel = True

            Windows.Application.Quit

    End Select

End Sub

C'est normal que tu as mis deux fois le code ? et essaye de remplacer le "End SubOption Explicit" par "End sub"

C'est tout bon merci à toi !! Je met le fichier complété avec le code de pskyl

As tu ré-essayé avec ce fichier pour reprendre le code d'origine ?

Bonjour GGautier,

oui j'ai repris le code de TestOK que tu m'a fourni et qui fonctionne. je te remets le code que j'ai dans mon fichier celui du dessus, bah je sais pas ce que j'ai fais car il correspond pas du tout à celui là :

Mais le résultat est le même

Option Explicit

Private Sub Workbook_Open()
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        For Each ws In .Worksheets
            ws.Visible = xlSheetVisible
        Next ws
        .Worksheets("Accueil").Visible = 2
    End With

    If Worksheets("Enquête").Range("J2") = "N° XXX" Then
        MsgBox "ATTENTION FICHIER ORIGINAL" _
        & vbNewLine & vbNewLine _
        & "vous devez être un utilisateur autorisé, " _
        & "pour pouvoir le modifier. ", vbOKOnly + vbExclamation, "Enquête Original"

    End If

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim ws As Worksheet
    Application.ScreenUpdating = False
    With ThisWorkbook
        .Worksheets("Accueil").Visible = -1
        For Each ws In .Worksheets
            If ws.Name <> "Accueil" Then
                ws.Visible = 2
            End If
        Next ws
    End With
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Dim Utilisateur As String

    Utilisateur = InputBoxDK("Indiquez votre nom d'utilisateur !", "Authentification utilisateur")

    Select Case Utilisateur

        Case "Nom1", "Nom2", "Nom3", "Nom4"  '<--- les noms pour lesquels l'enregistrement est autorisé

        Case Else

            MsgBox "Vous n'êtes pas autorisé à enregistrer les modifications que vous avez apporté ! " _
            & vbNewLine & vbNewLine _
            & "Ce fichier et EXCEL vont être fermer. ", vbOKOnly + vbCritical, "Fermeture d'enquête"

            Cancel = True

            Windows.Application.Quit

    End Select

End Sub

J'ai essayer de copier le code dans un fichier vierge, c'est pareil. je mets les 2 fichiers en PJ. Quelqu'un peux m'expliquer le fonctionnement et le problème ?

6testnok.xlsm (13.11 Ko)
7testok.xlsm (15.24 Ko)
Rechercher des sujets similaires à "activer macros ouverture fichier"