2 Conditions avec 2 MsgBox différentes sinon => Execute

Salut tout le monde,

J'ai un petit problème sur mon code car je n'ai jamais fais ça mais cela va surement vous paraître très facile à résoudre mais je n'y arrive pas... Il me dit que j'ai un Endif sans bloc If

Explications simplifiées :

> Si Txtbox1 <> nom des onglets existants Then (passer au deuxième SI)

> Sinon MsgBox = "Ce nom d'onglet existe déjà"

> Si Txtbox1 <> "" Then

MsgBox = " Saisir le nom d'un onglet"

>Sinon Code pour la création d'une forme sur Excel avec nom de la textbox1

Pour ma première condition j'utilise une fonction qui est dans un module externe et me renvoie la valeur TRUE si le nom n'existe pas dans le classeur actif :

Public Function FeuilleInexistante(ByVal strNomFeuille As String) As Boolean
'Retourne TRUE si strNomFeuille est le nom d'une feuille qui n'existe pas dans le classeur actif

FeuilleInexistante = IsError(Evaluate("='" & strNomFeuille & "'!A1"))

End Function

Le code que j'ai écris pour la création de la forme :

Private Sub Image2_Click()

Dim L As Single, T As Single, H As Single, W As Single
'Dim Shp As Shape

'''Appel de ma fonction pour verifier que la prod n'existe pas déjà '''
Dim strNomFeuille As String

strNomFeuille = TextBox1.Text

If FeuilleInexistante(strNomFeuille) Then

'''--- Donc si cette prod existe pas on continue la procédure en vérifiant que la textbox contient texte et tout ---'''

If TextBox1.Text = "" Then
    MsgBox "Veuillez saisir un nom de prod", vbExclamation, "Message Erreur"
Else

    CODE

'''--- Sinon si elle existe déjà on affiche le message et on fait recommencer l'utilisateur ---'''

Else

MsgBox "Ce type de prod existe déjà", vbExclamation, "Message Erreur"

Me.TextBox1.Text = ""

End If
End If
End Sub

Merci pour l'attention que vous porterez à ma question. Bonne journée à vous

Allan


***** J'avais fais une erreur dans mon explication simplifiée que j'ai corrigé******

Bonjour

Essaie ça, mais sans garantie car sans ton fichier...

Bye !

Private Sub Image2_Click()

    Dim L As Single, T As Single, H As Single, W As Single
    'Dim Shp As Shape
    '''Appel de ma fonction pour verifier que la prod n'existe pas déjà '''
    Dim strNomFeuille As String
    strNomFeuille = TextBox1.Text
    If FeuilleInexistante(strNomFeuille) Then
    '''--- Donc si cette prod existe pas on continue la procédure en vérifiant
            'que la textbox contient texte et tout ---'''
        If TextBox1.Text = "" Then
            MsgBox "Veuillez saisir un nom de prod", vbExclamation, "Message Erreur"
            Exit Sub
        Else
            CODE
        End If
    '''--- Sinon si elle existe déjà on affiche le message et on fait recommencer l'utilisateur ---'''
    Else
        MsgBox "Ce type de prod existe déjà", vbExclamation, "Message Erreur"
        Me.TextBox1.Text = ""
        Exit Sub
    End If

End Sub

Bonjour gmb,

Nice c'est parfait Ducoup c'était les Exit Sub qui n'était pas là et les End if mal placés.... Merci pour ton aide

Rechercher des sujets similaires à "conditions msgbox differentes sinon execute"