Ajout message box

Bonjour à tous,

dans le code ci-dessous, peut-on ajouter une message box "merci de remplir la case D4 avec le n° de semaine et l'année" si la cellule D4 est vide?

Sub nouvelle_fiche()

'Sheets("création fiche").Select
If FeuilleExiste(Sheets("modèle").Range("d4").Value) = False Then
Application.ScreenUpdating = False
Sheets("modèle").Copy after:=Sheets(Sheets.Count)
'Sheets("création fiche (2)").Name = Sheets("création fiche (2)").Range("C6")
With ActiveSheet
.Name = .Range("d4")
.Shapes.Range(Array("Rectangle 1")).Delete
.Shapes.Range(Array("Rectangle 2")).Delete
End With
Else
MsgBox "La feuille " & Sheets("modèle").Range("d4") & " existe déjà"
End If
Sheets("modèle").Select
End Sub
Function FeuilleExiste(Nom As String) As Boolean
On Error Resume Next
FeuilleExiste = Sheets(Nom).Name <> ""
On Error GoTo 0
End Function

merci pour votre aide

EDIT Modo : merci d'utiliser les balises de code en cliquant sur l'icone </> dans la barre de menu et en ajoutant votre dans la fenetre. J'ai corrigé votre post

Bonjour,

Voir ci-dessous.

Sub nouvelle_fiche()
    ' La feuille ne sera pas créée si le n° de semaine et l'année ne sont pas renseignée
    ' ATTENTION : cela ne contrôle pas que le format soit correcte ...
    If Sheets("modèle").Range("D4").Value = "" Then
        MsgBox "Merci de renseigner la cellule [D4] avec le n° de semaine et l'année.", vbExclamation, "N° de semaine et année non renseignés"
        Exit Sub
    End If
    'Sheets("création fiche").Select
    If FeuilleExiste(Sheets("modèle").Range("d4").Value) = False Then
        Application.ScreenUpdating = False
        Sheets("modèle").Copy after:=Sheets(Sheets.Count)
        'Sheets("création fiche (2)").Name = Sheets("création fiche (2)").Range("C6")
        With ActiveSheet
            .Name = .Range("d4")
            .Shapes.Range(Array("Rectangle 1")).Delete
            .Shapes.Range(Array("Rectangle 2")).Delete
        End With
    Else
        MsgBox "La feuille " & Sheets("modèle").Range("d4") & " existe déjà"
    End If
    Sheets("modèle").Select
End Sub
Function FeuilleExiste(Nom As String) As Boolean
    On Error Resume Next
    FeuilleExiste = Sheets(Nom).Name <> ""
    On Error GoTo 0
End Function

Cdlt,

Cylfo

Bonjour Cylfo,

merci pour ta réponse qui me convient !

bonne journée :)

Rechercher des sujets similaires à "ajout message box"