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 FunctionLe 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 SubMerci 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 SubBonjour gmb,
Nice c'est parfait