Hello, j'ai un soucis sur ce code :
J'aimerais que quand la case h4 est vide, il m'ouvre la msg box avec le message puis arrête la macro.
Si c'est pas el cas, que la macro continue...
Et je recois l'erreur "end if sans bloc if"...
J'arrive pas à trouver où ca coince... Je vous met le bout de code concernée et le code complet dessous.
Merci d'avance les experts !
If Range("h4") = 0 Then MsgBox " Veuillez indiquer un rôle !", vbCritical
Exit Sub
End If
Sub creationfeuillerecolte1()
Dim NomFeuil As String, NexistePas As Boolean, Caractere As String
If Range("h4") = 0 Then MsgBox " Veuillez indiquer un rôle !", vbCritical
Exit Sub
End If
'Le nom de ta future feuille est en Feuil1!B4
NomFeuil = Sheets("parametres").Range("H4")
'test les caractères spéciaux à éviter :
If Test_Nom_Feuille(NomFeuil, Caractere) = False Then GoTo Faute
'test si la feuille n'existe pas déjà :
On Error Resume Next
NexistePas = Sheets(NomFeuil).Name <> ""
On Error GoTo 0
If NexistePas = False Then
'si tout ok : on copie
Sheets("recolte").Copy Before:=Sheets(2)
'on renomme
ActiveSheet.Name = NomFeuil
'retour parametres
Sheets("parametres").Select
Else
'si pas ok
MsgBox " La feuille n'est pas valide : Feuille déjà existante", vbCritical
End If
Exit Sub
'traitement d'erreur caractère spécial :
Faute:
MsgBox " La feuille n'est pas valide." & vbCrLf & "Le caractère : " & Caractere & " est interdit.", vbCritical
End Sub