Option Explicit
Dim Reponse1 As String
Private Sub Workbook_Open()
Dim Nom As String, Fonction As String
    If Message1("Bonjour", "vous êtes amine ?") = 1 Then
        MsgBox ("Responsable métrologie")
            Exit Sub
    ElseIf Message1("Bonjour", "vous êtes Sara ?") = 1 Then
            MsgBox ("responsable métrologie")
            Exit Sub
            
     ElseIf Left(Question1("Veuillez indiquer votre nom "), 1) = 0 Then
            Workbooks(ActiveWorkbook.Name).Close SaveChanges:=False
            Exit Sub
        Else
            Nom = Reponse1
            Question1 ("Bonjour  " & Reponse1 & "Veuillez indiquer votre fonction")
            Fonction = Reponse1
            MsgBox ("Bonjour " & Nom & " Fonction : " & Fonction)
    End If
End Sub
'
Private Function Message1(Text1 As String, Text2 As String) As Byte
Select Case MsgBox(Text2, vbYesNo Or vbInformation Or vbDefaultButton1, Text1)
        Case vbYes
             Message1 = 1
        Case vbNo
            Message1 = 2
    End Select
End Function
Private Function Question1(Texte1 As String) As String
Dim Reponse As Variant
'expression.InputBox(Prompt, Title, Default, Left, Top, HelpFile, HelpContextId, Type)
'0 Une formule.
'1 Un nombre.
'2 Texte (une chaîne).
'4 Une valeur logique (True ou False).
'8 Une référence de cellule, sous la forme d'un objet Range.
'16 Une valeur d'erreur, telle que #N/A.
'64 Un tableau de valeurs.
Reponse1 = ""
Do
        Reponse = Application.InputBox(Prompt:=Texte1, Type:=2)
        Select Case Reponse
            Case ""
                MsgBox "vous n'avez pas  fait de saisies!" & Chr(13) & "recommencez!", vbCritical, "GRRrrrr!"
            Case False
                Question1 = 0
                Exit Do
            Case Else
                Question1 = 1
                Reponse1 = Reponse
                Exit Do
        End Select
 Loop
' sélection d'une plage
End Function