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